アプリケーションのテーマをサポートしようとしていますが、QPushButton の状態 (デフォルト、ホバー、押された状態など) に基づいてアイコンを変更する必要があるという問題に遭遇しています。QPushButton のアイコンを設定するために使用するものは次のとおりです。
QPushButton#playButton {
qproperty-icon: url(":/light/icons/play_light.png");
}
ホバー状態は私の暗いテーマのアイコンを必要とする背景を使用するため、これを使用して他のものに変更しようとしました:
QPushButton#playButton:hover {
qproperty-icon: url(":/dark/icons/play_dark.png");
}
これを行うと、play_light.png
表示は正常に行われますが、状態が変化しませんplay_dark.png
。
私の Python コードでは、再生時に再生ボタンが停止ボタンに変わるので、私のスタイルでは、カスタム プロパティを使用してそのアイコンに設定します。
QPushButton#playButton[isPlaying="true"] {
qproperty-icon: url(":/light/icons/stop_light.png");
}
これは私も変わりません。そこで、ボタンのスタイルをリセットするコードをオンラインで見つけました。これは次のようになります。
self.ui.playButton.setProperty('isPlaying', not isEnable)
self.ui.playButton.setStyle(qApp.style())
状態が変化するたびに、すべてのボタンにこの回避策を使用したくありません。以前にこの問題に遭遇したことがありますか?
これをご覧いただきありがとうございます。