3

次のCSSをQWidgetスタイルシートに設定しました。

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

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

ここに画像の説明を入力してください

誰かが私がこれを修正するのを手伝ってもらえますか?

QFrameを使用してみましたが、常に次のようにフレームの周囲に境界線が表示されます。

ここに画像の説明を入力してください

4

1 に答える 1

6

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

セレクターを使用してメインのQWidgetだけを選択する方法はたくさんあります。この場合、サブクラスではなくs.QWidgetのみを対象とするものを使用するのが最も簡単な場合があります。QWidgetQWidget

子階層に他のが含まれることになった場合は、を使用してクラスとプロパティをQWidget識別することにより、より選択的にすることができます。objectNameClassname#objectName

詳細については、Qtドキュメントのこのセクションをお読みください。

于 2011-09-11T03:03:31.903 に答える