すべてのコントロールでqwidgetショーにバックグラウンドスタイルシートを設定します

StackOverflow https://stackoverflow.com/questions/7375730

  •  28-10-2019
  •  | 
  •  

質問

次のCSSをQWidget StyleSheetに設定しました。

QWidget { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #00b7ea, stop: 1 #009ec3); /* Chrome10+,Safari5.1+ */ }

正常に動作しますが、キャンバスにボタンやその他のコントロールを置くと、要素に同じ背景色が含まれています。

enter image description here

誰かが私がこれを修正するのを手伝ってくれますか。

私はQFrameを使用してみましたが、私はいつもこのようなフレームの周りに境界線を取得します:

enter image description here

役に立ちましたか?

解決

aのスタイルシートを設定するとき QWidget, 、スタイルシートがそれに適用されます QWidget そして、そのウィジェットの子どもの階層全体。あなたが使用しているので QWidget セレクターとして、スタイルは任意のものに適用されます QWidget また QWidget サブクラス. 。 a QPushButton のサブクラスです QWidget, 、したがって、スタイルルールが適用されます。

メインのqwidgetだけをセレクターで選ぶことができる多くの方法があります。この場合、使用するのが最も簡単かもしれません .QWidget ターゲットのみをターゲットにします QWidgetsではありません QWidget サブクラス。

あなたが他の人を持っているなら QWidgets子供の階層では、クラスを識別することでより選択的になることができます objectName 使用しているプロパティ Classname#objectName.

あなたは読むべきです このセクション 詳細については、QTドキュメントの。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top