2010-12-16 12 views
6

में पृष्ठभूमि छवि सेट करने में असमर्थ मैं पैरामीटर-स्टाइलशीट के साथ कमांड लाइन के माध्यम से अपना क्यूटी ऐप चला रहा हूं। नियंत्रण के लिए शैली काम करती है लेकिन जब मैं मेनविंडो के लिए पृष्ठभूमि छवि लोड करने की कोशिश नहीं कर रहा हूं। मैंने कोशिश की: ":" पृष्ठभूमि में है, लेकिन एक फर्क नहीं पड़ताक्यूटी स्टाइलशीट

QMainWindow{ 
background-image:url(:image_256_8bit_latest_back.png); 
} 

भी दूर करने की कोशिश की। क्या कोई मुझे बता सकता है कि इस स्टाइलशीट में क्या गलत है?

उत्तर

12

वह छवि कहां स्थित है जहां आप उपयोग करने का प्रयास कर रहे हैं?

क्या आपने इसे अपने आवेदन के 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/ में है (जब तक आप सेटिंग्स बदल नहीं लेते)।

+1

जानकारी के लिए धन्यवाद :)। लेकिन मैं एक अलग QSS फ़ाइल क्यों चाहता हूं क्योंकि मैं चाहता हूं कि उपयोगकर्ता अपनी स्वयं की QSS फ़ाइल लोड करके एप्लिकेशन को कस्टमाइज़ कर सकें। तो जब कमांड प्रॉम्प्ट पर चलाया गया तो यह कोड को स्पर्श किए बिना QSS फ़ाइल से सभी शैलियों को आसानी से लागू कर सकता था ... – Owen

+1

इसका मतलब है कि छवि डिस्क पर कहीं है। लेकिन ':' के साथ पथ शुरू करके क्यूटी बताता है कि छवि एक संसाधन है। क्या आपने अपनी स्टाइलशीट में पूर्ण छवि पथ डालने का प्रयास किया है? –

+0

मैंने अपने ऐप फ़ोल्डर में स्थित 'stylesheet.qss' नामक एक फ़ाइल बनाने की कोशिश की, जिसमें कुछ ऐसा शामिल है:' QMainWindow {\t पृष्ठभूमि-छवि: url (sunset.jpg); } '। मैं तर्क '-stylesheet = styleheet.qss' के साथ ऐप चलाता हूं और मेरे ऐप की पृष्ठभूमि सूर्यास्त चित्र है। मुझे नहीं लगता कि यह आपके लिए क्यों काम नहीं कर रहा है। –

0

स्पष्ट रूप से आपकी छवि के पथ में कोई समस्या है। क्यूटी द्वारा लोड की गई छवि को सत्यापित करने और काम करने के लिए एक पूर्ण पथ का उपयोग करने का प्रयास करें।

+0

पथ coz के साथ कोई समस्या नहीं है यह बटन के लिए एक छवि के रूप में काम करता है ... :) – Owen

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