問題タブ [qstyle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Qt::QSpinBox のテキストを下げる方法
スピンボックスで高すぎるように見えるカスタム フォントのスピンボックスを使用しています。テキストを下に移動するにはどうすればよいですか?
私はすでに再実装QStyle
して別のウィジェットでフォントを低くしましたが、スピンボックスでそれを行う場所が見つかりません。上部を移動できる場所があるはずQRect
ですが、どこにあるのかわかりません。
qt - QTreeWidgetItem を異なるスタイルで描画するには?
主な問題は次のとおりです。QTreeWidget
クラスをメインツリーとして使用しています。これは、このツリー構造を表示する必要があります。
QtDesigner
では、このスタイル シート コードを設定しました。
すべてのアイテムは * row_back.png * 背景画像で描画されますが、 [今日]行と[昨日]行には別の背景画像を描画する必要があります。これらの目的のために、スタイルを新しい背景画像にリセットするために、クラスを継承QStyledItemDelegate
しましたが、メソッドはわかりません。
何か助けはありますか?
ありがとう!
c++ - OS X で QProgressBar のスタイルを変更することは可能ですか?
QStyle サブクラスを使用し、パレットを設定するアプローチは機能しません (ただし、他の基本スタイルに対しては機能しますMyStyle
)。
OS X でウィジェットの外観を制御する他の方法はありますか? (それとも完全に無理?)
qt - Qtソースで、デフォルトのMac OSスタイルでコントロールを描画するためのコードはどこにありますか?
QCommonStyleはQStyleを継承し、QWindowsStyleはQCommonStyleを継承し、QWindowsXPStyleはQWindowsStyleを継承します。アプリケーションにコントロール(QSliderなど)があり、Windows XPでデバッグする場合は、qwindowsxpstyle.cppのdrawComplexControl()にブレークポイントを設定して、QSliderがどのように描画されるかを確認できます。QMacStyle.cppなどのファイルが見つかりません。QMacStyleはQWindowsStyleを継承しますが、qwindowsstyle.cppでは、drawComplexControl()のコードがMacスタイルのコントロールで機能しないようです。関連するソースはどこにありますか?
c++ - QStyle.drawControl() を使用して赤いプッシュ ボタンをレンダリングする方法は?
次のコードを使用して、赤いプッシュ ボタンをレンダリングしようとしましたQStyle.drawControl()
。
ただし、次の結果が得られます。
を使用して赤いプッシュ ボタンをレンダリングするにはどうすればよいQStyle.drawControl()
ですか?
Windows XP で Qt 4.8.1 と Visal Studio 2010 を使用しています。
qt - QWidget ペインティングキャッシュをフラッシュするには?
カスタム スタイルの QMessageBox に取り組んでいます。メソッド Polish() のカスタム QStyle クラスで、次のように呼び出します。
半透明の境界線を使用しない限り、これは正常に機能します。半透明の部分は、再描画のたびに暗くなります (たとえば、[詳細を表示]/[詳細を非表示] を何度も押すと)。
更新:メッセージボックスを移動すると、「暗すぎる半透明のコンテンツ」も移動することに気付きました。したがって、QWidget ペインティング キャッシュをフラッシュしたい - このようなものが存在する場合 (バッキング ストア??)。
qt - QTreeWidget (アイテムのスタイルの適用)
ツリー ウィジェットがあり、ツリーには次の 3 つのレベルがあります。
レベルに応じてアイテムに異なるスタイルを適用して、LEVEL1、LEVEL2、および LEVEL3 を異なるスタイルにできるようにしたいと考えています。2 レベルのツリーでこれを行うことができます。助けてください。これをCSSレベルで実現したい(コードに触れずに)
私は次のドキュメントを通過しました。LEVEL1 と LEVEL2 の区別が難しい部分だと思います。
http://doc.qt.digia.com/main-snapshot/stylesheet-examples.html#customizing-qtreeview
c++ - QSpinBoxが正しく描画されない
現在、カスタムデリゲートを実装していますが、その一部をメソッドQSpinBox
に描画する必要があります。paint(..)
残念ながら、次のように表示されます。
ご覧のとおり、ステップボタンは大きく描かれており、下矢印のみが表示されます。興味深いことに、ボタンの幅はoption.rect
、セルのサイズであるにもかかわらず、最初のテーブル列の幅を反映しています(これは正しいので、おそらくフレームが正しく描画されます)。
私が提供していない情報はありQStyle
ますか?
qt - ボタンから QPushButton テキストを描画する
カスタム QPushButton を作成しています。ボタンにアイコンがある場合、アイコンをボタンの中央に配置します。ボタンにテキストがある場合、テキストをボタンの中央に配置します。私はその両方のケースを扱うことができます。ボタンにアイコンとテキストの両方が含まれている場合、アイコンを中央に配置し、テキストをボタンの下、ボタンの四角形の外側に描画します。スタイルシートでボーダー画像を使用してボタン画像を描画しています。
MyPushButton::paintEvent() 内で四角形を計算し、次を使用してアイコンを描画します。
次に、ボタンの下にあるテキストの四角形を計算して、次のようにします。
しかし、テキストは表示されません。
これは指定された「描画可能」領域と関係があるに違いないと思いますが、テキストを配置したい領域をボタン画像が埋めないようにその領域を拡張する方法がわかりません。
QStyle::drawControl() オーバーロードでこれを行うことができますが、その理由はわかりません。コードを CE_PushButtonLabel のケースにトレースすると、myStyle->rect は既にボタン イメージとテキストに合わせて十分な大きさにサイズ変更されています。
qt - QGroupBox のタイトル シャドウ (別名エッチング) を無効にしました。
無効になっている QGroupBox のタイトルをよく見てください (添付の画像を参照)。
タイトルの文字の下に小さな白い 1 ピクセルの影が表示されます。
デフォルトのスタイル シートではほとんど目立ちませんが、暗い背景とテキストの色を設定すると、さらに煩わしくなります。
この影を無効にするか、少なくとも色を変更するにはどうすればよいですか?