वह छवि कहां स्थित है जहां आप उपयोग करने का प्रयास कर रहे हैं?
क्या आपने इसे अपने आवेदन के resource के रूप में रखा था?
यदि आप किसी छवि का उपयोग करना चाहते हैं जो आपके संसाधनों का हिस्सा है, तो आपके पास अपनी प्रोजेक्ट में संसाधन फ़ाइल (*.qrc
) होनी चाहिए। इस फ़ाइल में कुछ इस तरह होना चाहिए:
<RCC>
<qresource prefix="/images">
<file alias="sunset.jpg">sunset.jpg</file>
</qresource>
</RCC>
फिर, आप अपने QMainWindow
के निर्माता में इस कोड लिख सकते हैं:
setStyleSheet("background-image: url(:/images/sunset.jpg);");
आप Qt resource system का उपयोग नहीं करना चाहते हैं, तो आप सिर्फ यह कर सकते हैं यदि आप एक रिश्तेदार पथ का उपयोग कर रहे
setStyleSheet("background-image: url(res/images/sunset.jpg);");
हालांकि सावधान:: आपकी डिस्क पर अपनी छवि के लिए पथ डाल क्यूटी वर्तमान स्थान से शुरू होगा, जो हो सकता है बदलें, खासकर यदि आप क्यूटी निर्माता के साथ विकसित कर रहे हैं।
क्यूटी निर्माता के साथ, जब आप डीबग मोड में अपना ऐप चलाते हैं, तो वर्तमान पथ debug/
में होता है। जब आप रिलीज मोड में अपना ऐप चलाते हैं, तो वर्तमान पथ release/
में है (जब तक आप सेटिंग्स बदल नहीं लेते)।
स्रोत
2010-12-16 10:17:38
जानकारी के लिए धन्यवाद :)। लेकिन मैं एक अलग QSS फ़ाइल क्यों चाहता हूं क्योंकि मैं चाहता हूं कि उपयोगकर्ता अपनी स्वयं की QSS फ़ाइल लोड करके एप्लिकेशन को कस्टमाइज़ कर सकें। तो जब कमांड प्रॉम्प्ट पर चलाया गया तो यह कोड को स्पर्श किए बिना QSS फ़ाइल से सभी शैलियों को आसानी से लागू कर सकता था ... – Owen
इसका मतलब है कि छवि डिस्क पर कहीं है। लेकिन ':' के साथ पथ शुरू करके क्यूटी बताता है कि छवि एक संसाधन है। क्या आपने अपनी स्टाइलशीट में पूर्ण छवि पथ डालने का प्रयास किया है? –
मैंने अपने ऐप फ़ोल्डर में स्थित 'stylesheet.qss' नामक एक फ़ाइल बनाने की कोशिश की, जिसमें कुछ ऐसा शामिल है:' QMainWindow {\t पृष्ठभूमि-छवि: url (sunset.jpg); } '। मैं तर्क '-stylesheet = styleheet.qss' के साथ ऐप चलाता हूं और मेरे ऐप की पृष्ठभूमि सूर्यास्त चित्र है। मुझे नहीं लगता कि यह आपके लिए क्यों काम नहीं कर रहा है। –