2012-05-24 6 views
6

है, तो मैं QLabel() एक फ़ाइल से pixmap जेपीजी छवि प्रदर्शित करने की कोशिश कर रहा हूं (जो वेब से डाउनलोड होने के बाद से संसाधन फ़ाइल में नहीं हो सकता है), लेकिन मुझे इसे लोड करने में समस्याएं आ रही हैं। कोड काफी सरल है:QLabel() एक पिक्समैप लोड नहीं करेगा यदि यह एक जेपीजी छवि

label = QLabel() 
label.setPixmap(QPixmap("image.jpg")) 

यह PNG फाइलों के साथ काम करता है, लेकिन यह JPG फाइलों के साथ काम नहीं करता है। मैंने बहुत कुछ गुगल किया है और पाया है कि मुझे उसी फ़ोल्डर में "imageformats" फ़ोल्डर रखने की आवश्यकता है जहां मेरी स्क्रिप्ट स्थित है। हालांकि, ऐसा करने के बाद भी (और हाँ, qjpeg4.dll और अन्य वहां हैं), यह अभी भी काम नहीं करता है। मैं भी

path = r"C:\Users\Deusdies\Documents\Work\myapp\imageformats" 
app.addLibraryPath(path) 

कर की कोशिश की है, लेकिन है कि या तो मदद नहीं की।

फिर से, यह PNGs लोड करता है ठीक है, लेकिन यह JPGs लोड नहीं करेगा। मैंने यह भी देखा है कि इससे पहले भी ICO लोड नहीं होगा, लेकिन मैंने इसे एक असंबंधित मुद्दे के रूप में सोचा - हालांकि यह अब ऐसा नहीं लगता है।

यह ध्यान देने योग्य है कि एप्लिकेशन को इस बिंदु पर .exe में परिवर्तित नहीं किया गया है - यह PowerShell के माध्यम से python.exe दुभाषिया के माध्यम से चलाया गया है।

मेरे विकास पर्यावरण विंडोज 7 x64, PySide 1.1.0

है मैं इस समस्या को कैसे हल कर सकते हैं?

+0

क्या क्यूटी संस्करण करने से पहले QDialog() वर्ग का एक उदाहरण बनाया है? उपलब्ध छवि प्रारूपों को देखने के लिए: 'सूची = QImageReader.supportedImageFormats() 'फिर' प्रिंट ') इस सूची को। – dschulz

+0

क्या आप पूरी तरह से सुनिश्चित हैं कि छवि किसी अन्य प्रारूप में नहीं है, केवल '.jpg' एक्सटेंशन के साथ? – dschulz

+0

@dschulz: मुझे यह मिला: [PySide.QtCore.QByteArray ('bmp'), PySide.QtCore.QByteArray ('pbm'), PySide.QtCore.QByteArray ('pgm'), PySide.QtCore.QByteArray ('png '), PySide.QtCore.QByteArray (' ppm '), PySide.QtCore.QByteArray (' xbm '), PySide.QtCore.QByteArray (' xpm ')] जाहिर है कि जेपीजी गुम है। कोई विचार यह कैसे जोड़ना है? इसके अलावा हाँ, मुझे 100% यकीन है कि यह एक जेपीजी है। –

उत्तर

5

मैंने समस्या हल की।

path = r"C:\Users\Deusdies\Documents\Work\myapp" 

(इसलिए "imageformats" भाग के बिना)

और दूसरा, मैं एक बेवकूफ था: सबसे पहले, पथ इस तरह दिखना चाहिए। मैंने addLibraryPath()

+0

अब एक और समस्या लंबित है .. यह पीएनजी छवियों के साथ क्यों काम किया ?? ;-) – dschulz

+2

ऐसा इसलिए है क्योंकि पीएनजी समर्थन में छवि प्रारूपों में कोई संबंधित प्लगइन नहीं है /, यह या तो अधिक सामान्य क्यूटी कॉन्फ़िगरेशन के आधार पर शामिल है या नहीं। –

+0

धन्यवाद, @ डैनियल वेरिट – dschulz

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