3

QWidget から継承し、レイアウトにいくつかのラベルを含むカスタム ウィジェットがあります。ウィジェットの上にマウスを置くたびに、ウィジェットの背景色とウィジェットのラベル (これはすべてです!) を変更したいと思います。

カスタムウィジェットで使用*:hover { background: red; }すると、マウスをラベルの上に移動したときにのみコンテンツが赤くなりますが、ラベルの外やラベル間などではありません。スタイルシートを親ウィジェットに配置することを考慮すると、この動作がわかりません.

何か案は?どうもありがとう、

4

2 に答える 2

4

次のように、子にカスケードする親のスタイルシートを設定できます。

parent->setStyleSheet("* {background: red}");

ホバリングのみ:

parent->setStyleSheet("*:hover {background: red}");

https://qt-project.org/doc/qt-5.1/qtwidgets/stylesheet-syntax.htmlをご覧ください

于 2013-09-30T15:24:26.040 に答える
0

最後に、メインの QWidget 内に QFrame を作成し、その QFrame の StyleSheet を設定する問題を解決しました。

于 2013-09-30T16:10:56.437 に答える