2011-12-20 11 views
8

यह एक आसान सवाल हो सकता है, लेकिन मैं अपने आवेदन में एक विशिष्ट QLabel को रंग देने की कोशिश कर रहा हूं और यह काम नहीं करता है।पीईक्यूटी एक विशिष्ट तत्व को रंग देता है

कोड मैंने कोशिश की है निम्नलिखित:

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

किसी भी संकेत की सराहना की जाएगी

उत्तर

17

कुछ चीजें साथ stylesheet syntax प्रयोग कर रहे हैं गलत हैं।

सबसे पहले, ID चयनकर्ता (यानी #nom_plan_label) विजेट के objectName को संदर्भित करना होगा।

दूसरा, स्टाइलशीट को पूर्वजों विजेट पर लागू होने पर चयनकर्ताओं का उपयोग करना आवश्यक है और आप कुछ स्टाइल नियमों को विशेष वंशज विजेट पर कैस्केड करना चाहते हैं। यदि आप स्टाइलशीट को सीधे एक विजेट पर लागू कर रहे हैं, तो चयनकर्ता (और ब्रेसिज़) छोड़ा जा सकता है।

ऊपर दो अंक को देखते हुए, अपने उदाहरण कोड बन जाएगा या तो:

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 चयनकर्ता का उपयोग किया है, तो यह इसे यहां और नीचे से QLabels तक सीमित कर देगा – jdi

संबंधित मुद्दे