2010-02-10 8 views
6

मेरे पास एक क्यूटी एप्लीकेशन है जिसमें कुछ एम्बेडेड जेपीजी फाइलें हैं जिन्हें मैं प्रदर्शित करना चाहता हूं। जब मैं अपनी मशीन पर डीबग और रिलीज संस्करण दोनों संकलित और चलाता हूं, तो सब कुछ पूरी तरह से काम करता है। जब मैं एप्लिकेशन को अंगूठे ड्राइव पर कॉपी करता हूं और इसे अपनी मशीन पर वहां से चलाता हूं, तो यह ठीक काम करता है। अंगूठे ड्राइव और एक और डेवलपर मशीन पर: ठीक है। थंब ड्राइव पर तीसरे, गैर-डेवलपर की मशीन पर: कोई छवि नहीं!एम्बेडेड जेपीजी संसाधन क्यूटी अनुप्रयोग में लोड नहीं हो रहे हैं

proj.pri 
RESOURCES += ./proj.qrc 

proj.qrc: 
<RCC> 
<qresource prefix="/myApp"> 
    <file>Gui/Resources/logo.jpg</file> 
    <file>Gui/Resources/another_image.jpg</file> 
</qresource> 
</RCC> 

main.cpp: 
{ 
    ... 
    QImage *logo = new QImage(":/myApp/Gui/Resources/logo.jpg"); 
    QImage *image = new QImage(":/myApp/Gui/Resources/another_image.jpg"); 

    myClass *d1 = new myClass("Some Text", 48, 30, logo); 
    myClass *d2 = new myClass("Some More Text", 48, 30, another_image); 
    ... 
} 

मैं पुष्टि की है कि छवियों .pri फ़ाइल में संसाधन लाइन बाहर टिप्पणी करके निष्पादन करने के लिए जोड़ा जा रहा है। छवियों के आकार के साथ बाइनरी बूंदों का आकार थोड़ा सा; जब मैं एप्लिकेशन चलाता हूं, तो छवियां दिखाई नहीं देती हैं। मैं रिसोर्सेस लाइन पर टिप्पणी नहीं करता हूं और सब कुछ ऊपर वर्णित अनुसार काम करता है।

मुझे यहां क्या याद आ रही है? गैर डेवलपर की मशीन पर एक डीएलएल? एक

पर्यावरण:

  • विन XP
  • क्यूटी 4.6.1
  • विजुअल स्टूडियो 2008
  • क्यूटी प्रजापति 1.3.1

उत्तर

11

यह jpeg प्लग इन की आवश्यकता लोड करने के लिए इमेजिस। यदि आपके पास क्यूटी स्थापित है तो वे% QTDIR% \ plugins \ imageformats में होंगे।

qjpeg4.dll को अपने अंगूठे ड्राइव पर प्लगइन फ़ोल्डर में कॉपी करें।

root/app.exe 
root/qt.conf 
root/plugins/imageformats/qjpeg4.dll 
अपने प्लग-इन निर्देशिका के लिए

qt.conf फ़ाइल सेट पथ में:

[Paths] 
plugins=./plugins 
+0

मैंने पहले इसका अनुभव किया है और यह वह समाधान है जिस पर मैंने ठोकर खाई। ओपी, ध्यान रखें कि निर्देशिका संरचना महत्वपूर्ण हो सकती है। –

+2

बीटीडब्लू, प्रतिलिपि बनाई गई छवि प्रारूप/qjpeg4.dll रूट में (ऊपर दिए गए उदाहरण में) और qt.conf और रूट/प्लगइन्स छोड़ दिया। – dwj

+0

हाँ यह थोड़ा अनावश्यक हो सकता है, लेकिन मुझे लुकअप क्यूटी का सही क्रम याद नहीं है :)। – Eugene

0

सबसे सटीक उत्तर नहीं बल्कि अधिक DLLs और एक फ़ोल्डर संरचना को तैनात करने की तुलना में already दिया जाता है, वहीं, मैं इसे खोजने छवियों को पीएनजी में बदलने के लिए बहुत आसान है ... यदि आप पीएनजी का उपयोग करते हैं तो कोई छवि प्रारूप डीएलएस आदि आवश्यक नहीं है।

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