2011-09-11 5 views
3

すべてのコントロールに示します設定の背景スタイルシートは、私はQWidgetのスタイルシートに次のCSSを設定している

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を使用してみましたが、私はいつもこのようなフレームの周囲に境界線を取得する:あなたがQWidgetのためにスタイルシートを設定すると

enter image description here

答えて

5

、スタイルシートがそのQWidgetに適用されますそのウィジェットの子階層全体が表示されます。セレクタとしてQWidgetを使用しているため、スタイルはQWidgetまたはQWidgetサブクラスに適用されます。 QPushButtonQWidgetのサブクラスなので、スタイルルールが適用されます。

セレクタを使ってメインQWidgetだけを選別する方法はたくさんあります。この場合、サブタイトルQWidgetではなくQWidgetsを対象とする.QWidgetを使用するのが最も簡単です。あなたは子階層内の他のQWidget sの終わる場合

は、あなたがクラスやClassname#objectNameを使用してobjectNameプロパティを識別することにより、より選択的であり得ます。

詳細については、this sectionのQtドキュメントをお読みください。

+0

Works、ありがとう:) –

関連する問題