web-dev-qa-db-ja.com

PyQtは特定の要素に色を与えます

これは簡単な質問かもしれませんが、アプリケーションで特定のQLabelに色を付けようとしていますが、機能しません。

私が試したコードは次のとおりです。

nom_plan_label = QtGui.QLabel()
nom_plan_label.setText(nom_plan_vignette)
nom_plan_label.setStyleSheet("QLabel#nom_plan_label {color: yellow}")

ヒントをいただければ幸いです

15
Johanna

使用している スタイルシート構文 にはいくつか問題があります。

まず、IDセレクター(つまり、#nom_plan_label)ウィジェットのobjectNameを参照する必要があります。

次に、スタイルシートが祖先ウィジェットに適用され、特定のスタイルルールを特定の子孫ウィジェットにカスケードする場合にのみセレクターを使用する必要があります。スタイルシートを1つのウィジェットに直接適用する場合は、セレクター(および中括弧)を省略できます。

上記の2つのポイントを考えると、サンプルコードは次のいずれかになります。

nom_plan_label = QtGui.QLabel()
nom_plan_label.setText(nom_plan_vignette)
nom_plan_label.setObjectName('nom_plan_label')
nom_plan_label.setStyleSheet('QLabel#nom_plan_label {color: yellow}')

または、もっと簡単に:

nom_plan_label = QtGui.QLabel()
nom_plan_label.setText(nom_plan_vignette)
nom_plan_label.setStyleSheet('color: yellow')
23
ekhumoro