2012-12-27 14 views
11

लोड नहीं कर सकता मैं एक Qt5 डेस्कटॉप परियोजना है और मैं क्यूटी निर्माता संपादक जो परियोजना की .pro फ़ाइल में निम्न पंक्ति बनाया के साथ एक "resource.qrc" फ़ाइल कहा:क्यूटी QRC संसाधन फ़ाइल - आइकन

मैं एक खाली उपसर्ग और PNG फ़ाइल (14x14) रख दिया और मैं इस तरह इसका इस्तेमाल करने की कोशिश की:

QPixmap pixmap = QPixmap ("://my_image.png"); 
ui->combobox->addItem(QIcon(pixmap), "itemname"); 

समस्या है: आइकन दिखाई नहीं देंगे!

निम्नलिखित काम करता है:

QPixmap pixmap(14,14); 
pixmap.fill(QColor("red")); 
ui->combobox->addItem(QIcon(pixmap), "itemname"); 

तो समस्या संसाधन embedding प्रक्रिया में होना चाहिए .. मैंने देखा है कि उत्पन्न "exe" इसके अंदर एक संसाधन अनुभाग नहीं है ... मुझे नहीं पता स्थिर जुड़ा हुआ बाहरी पुस्तकालयों है, तो मुझे नहीं लगता कि मैं Q_INIT_RESOURCE (संसाधन) मैक्रो की आवश्यकता है (यह मुझे देता है अपरिभाषित बाह्य)

अद्यतन:

<RCC> 
    <qresource prefix="/"> 
     <file>my_image.png</file> 
    </qresource> 
</RCC> 
: मैं यहाँ मेरी QRC फ़ाइल पोस्ट कर रहा हूँ

यह बहुत आसान है और मुझे समझ नहीं आता क्यों क्रम माउस पर

दिखाई नहीं दे रहे
+2

क्यूटी संसाधन विंडोज एक्सई संसाधन तंत्र का उपयोग नहीं कर रहे हैं, इसलिए यह सामान्य है कि वे वहां दिखाई नहीं देते हैं। कृपया अपनी resource.qrc फ़ाइल पोस्ट करें। साथ ही, ध्यान दें कि आप सीधे एक QIcon में एक छवि लोड कर सकते हैं। QPixmap के माध्यम से जाने की आवश्यकता नहीं है। बस कोशिश करें: 'ui-> combobox-> addItem (QIcon (":/my_image.png"), "itemname"); ' –

+0

मैंने अभी किया है, आपकी मदद के लिए धन्यवाद! –

उत्तर

11

@Nikos सी आप उपयोगी सलाह देता है, लेकिन मुझे लगता है कि अपने मुख्य समस्या यह थी कि आप के लिए सही लिंक का उपयोग नहीं किया संसाधन।

अपने कोड में, तुम हो:

QPixmap pixmap = QPixmap ("://my_image.png"); 

लेकिन, documentation के अनुसार, यह

QPixmap pixmap = QPixmap (":/my_image.png"); 

होना चाहिए या आप अपने संसाधनों के उपनाम दे सकते हैं, और बदले में उन का उपयोग करें।

21

मुझे हाल ही में यही समस्या थी, जहां मैंने संसाधन स्ट्रिंग को खराब किया था। यदि आप क्यूटी निर्माता के वर्तमान संस्करण का उपयोग कर रहे हैं, तो आप अपनी .qrc फ़ाइल को संपादित करने के लिए खोल सकते हैं और फिर संसाधन (इस मामले में छवि) पर राइट-क्लिक करें जिसे आप संबोधित करने का प्रयास कर रहे हैं, फिर "क्लिपबोर्ड पर संसाधन पथ कॉपी करें" पर क्लिक करें। और voila, आप हर समय सही संसाधन स्ट्रिंग है।

क्यूटी निर्माता अद्भुत है।

आशा है कि इससे मदद मिलती है!

+0

'कॉपी संसाधन पथ ...' के लिए Thx ... यह दिखाता है कि मेरे पास डुप्लीकेट फ़ोल्डर है:/शब्दकोश/शब्दकोश/en.dic' –

0

समस्या हल हो जाती है उपयोग rcc.exe है C: \ जड़ \ क्यूटी> c: \ \ जड़ \ क्यूटी 4.7.4 \ बिन \ rcc.exe Headless.qrc -ओ qtresources.cpp संकलन के दौरान आप होना चाहिए पथ में छवियों। qtresources.cpp फ़ाइल बनाएं इस फ़ाइल को मेकफ़ाइल या प्रोजेक्ट में शामिल करें। आपको छवि देखने में सक्षम होना चाहिए।

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