2011-12-20 13 views
8

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

私が試したコードは以下の通りです:

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

任意のヒントは、あなたが使用しているstylesheet syntaxと間違っていくつかのものがあります

答えて

17

をいただければ幸いです。

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

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

上記の二つの点を考えると、あなたのコード例では、どちらかになる:

単に
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') 
+0

私はこのソリューションは問題を引き起こすだろうと思う唯一の可能な時間は、あなたのようなものです子ウィジェットと一緒に言った。だから彼は何とかウィジェットをラベルの子として追加し終えたら、その色の値を取り上げるだろう。少なくともQLabelセレクタをまだ使用していた場合は、QLabelをQLabels以下に制限します – jdi

関連する問題