2

スクリプトについてさまざまなプッシュボタンがローミングしていて、ソフトウェア内の大量のウィジェットを処理するために外部のcssファイルを読み込んでいます。クラスごとにボタンを探し出し、特定のプロパティを定義しようとしなければならないところまで来ています。次のようなボタンの一般的な呼び出し:QFrame:QPushButton #btnName {css:blah; }は機能していますが、疑似状態は機能していません。具体的には、ホバーして押します。これが私が試していることです:

--THIS WORKS
QFrame:QPushButton #btnName { css: blah; }

--THESE DO NOT
QFrame:QPushButton:hover #btnName { css: hoverstuff; }
QFrame:QPushButton:pressed #btnName { css: pressedstuff; }

シートにはCSSのスタイリングがたくさんあります。これらの線の「上」にあるものの問題でしょうか?疑似状態の構文が間違っていますか?何が!?前もって感謝します。

4

1 に答える 1

5

使用している現在の構文は、すべての例で間違っています。

セレクターは、有効な疑似状態QFrame:QPushButtonではないため、単に無視します。また、IDセレクターの前のスペースは、呼び出されたすべての子孫オブジェクトにルールが適用されることを意味します(これはおそらく意図したものではありませんが、最初の例がとにかく機能する理由です)。:QPushbutton#btnName

あなたが本当に望んでいたのは、ルールが「btnName」の子孫でもあるすべてQPushButtonに適用されることだったと思います。objectNameQFrame

この場合、最初のルールは次のようになります。

QFrame QPushButton#btnName { css: blah; }

他の2つのルールは次のようになります。

QFrame QPushButton#btnName:hover { css: hoverstuff; }
QFrame QPushButton#btnName:pressed { css: pressedstuff; }

セレクタータイプの詳細については、こちらをご覧ください

于 2012-02-08T02:42:00.560 に答える