2011-12-20 22 views
8

Bu kolay bir soru olabilir, ancak uygulamanızda belirli bir QLabel'e renk vermeye çalışıyorum ve çalışmıyor.PyQt belirli bir öğeye renk verir

Denedim kodu aşağıdadır:

Herhangi bir ipucu mutluluk duyacağız
nom_plan_label = QtGui.QLabel() 
nom_plan_label.setText(nom_plan_vignette) 
nom_plan_label.setStyleSheet("QLabel#nom_plan_label {color: yellow}") 

cevap

17

stylesheet syntax kullandığınız yanlış bir şeyler vardır. Öncelikle, ID seçicilerin (yani #nom_plan_label) altyazının objectName numaralı telefonuna başvurması gerekir. İkinci olarak, yalnızca bir ataç widget'ına bir stil sayfası uygulandığında seçicilerin kullanılması ve belirli stil kurallarının belirli alt öğe widget'larına göre kademeli hale getirilmesini istemeniz yeterlidir. Stil sayfasını doğrudan bir pencere parçacığına uygularsanız, seçici (ve parantez) dışarıda bırakılabilir.

Yukarıdaki iki nokta göz önüne alındığında

, sizin örnek kod ya olacaktı: ya da daha basitçe

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

bir sorun sizin gibi bu çözüm neden olacağını düşünüyorum tek olası zaman Çocuk widget'ları ile dedi. Öyleyse eğer bir şekilde etiketin çocukları olarak widget'lar eklediyse, o renk değerini alacaklardı. Hala en azından QLabel seçicisini kullandıysanız, buradan ve altından QLabels ile sınırlar. – jdi