いくつかのツールボタンを表示する必要がある GUI に取り組んでいます。スタイルを設定するために外部 CSS ファイルを使用しています。簡単にするために、CSS クラスを (setProperty で) 定義し、CSS ファイルで使用して、クラスに応じてボタンの外観を変更しています。
私のPythonコードは次のようになります:
...
bt = QtGui.QToolButton(parent.qtObject)
bt . setToolButtonStyle ( QtCore.Qt.ToolButtonTextUnderIcon )
bt.setProperty('class','StaticButton')
bt.setStyleSheet(css_content)
...
私のCSSは次のようなものです:
QToolButton.StaticButton
{
border: 2px solid #4f4f51;
border-radius: 5px;
font-size: 10px;
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #e4e4c8, stop: 1 #b9b9a9);
}
問題は、ボタンの背景のみが影響を受けることです。QToolButton[class=StaticButton]
CSSファイルまたは.StaticButton
のみなど、多くの代替手段を試しました。どちらの選択肢も保存動作につながりました。ボタンにCSSを直接適用する場合:
bt.setStyleSheet("border: 2px solid #4f4f51;border-radius: 5px;font-size: 10px;background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #e4e4c8, stop: 1 #b9b9a9);")
すべて完璧に動作しますが、Python コードに CSS を入れたくありません。
誰かが私のコードで何が問題なのか教えてもらえますか? background プロパティが使用されているのに、他のプロパティが使用されていない理由がわかりません。
注: インポートされた CSS を確認しましたが、ファイルは完全に有効です。私はいくつかのテストを行いましたが、毎回 background プロパティのみが機能します...何が起こっていますか?
ありがとう