1

S60 Qt アプリで QPushButton を使用しています。

フォーカスがあるときにボタンのアイコンを変更したい。

私はこれを試しました...

navButton->setStyleSheet("background-image: url(c:/Data/navArrowsNotSelected.png);");
setStyleSheet("DoubleViewWidget QPushButton:focus {background-image: url(c:/Data/navArrowsSelected.png); border: 2px solid yellow}");

...しかし、背景画像はフォーカスによって変化しません。

QPaletteなどを使用して他のアプローチも試しましたが、これを機能させることはできません。

ウィジェットのフォーカス スタイルを選択する方法はありますか?

...またはこれを行う別の方法はありますか?

4

2 に答える 2

4

1 つのスタイルシートをボタンに直接設定し、もう 1 つを親ウィジェットに設定することはできません。ボタン 1 が優先されます。これを試して:

 navButton->setStyleSheet("QPushButton { background-color:red; } QPushButton:focus { background-color:blue; }");
于 2009-10-07T12:14:54.943 に答える
0

スタイルシートでこれを行うことについては何も言えませんが、次のアプローチを使用できます。

1) QPushButton のサブクラス化、および focusInEvent と focusOutEvent (保護されたメンバー) の再実装

2) 別のアプローチは、プッシュ ボタン インスタンスで "void QPushButton::installEventFilter ( QObject * filterObj )" を実行することです (filterObj はカスタム フォーカス イベント処理を実装します)。

于 2009-10-07T12:19:10.567 に答える