इस मामले का केंद्र है, मैं निम्नलिखित कोड स्निपेट में क्या गलत कर रहा हूं?मैं tkinter/ttk का उपयोग कर पायथन 3 में एक छवि कैसे प्रदर्शित कर सकता हूं?
from tkinter import *
from tkinter.ttk import *
root = Tk()
myButton = Button(root)
myImage = PhotoImage(myButton, file='myPicture.gif')
myButton.image = myImage
myButton.configure(image=myImage)
root.mainloop()
त्रुटि संदेश मैं idle3 से मिलता है इस प्रकार है:
>>>
Traceback (most recent call last):
File "/home/bob/Documents/Python/tkImageTest.py", line 9, in <module>
myButton.configure(image=myImage)
File "/usr/lib/python3.2/tkinter/__init__.py", line 1196, in configure
return self._configure('configure', cnf, kw)
File "/usr/lib/python3.2/tkinter/__init__.py", line 1187, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
TypeError: __str__ returned non-string (type Button)
>>>
यह त्रुटि संदेश मुझे स्टंप्डया है, मैं बस समझ में नहीं आता कि यह क्या कहने की कोशिश कर रहा है। कोई विचार?
मैं भी परिवर्तन के लिए सुझाव की सराहना करेंगे ...
BTW मैं पहले से ही इस संदर्भ http://effbot.org/tkinterbook/photoimage.htm जाँच की है - तुम मेरे कोड का टुकड़ा बहुत समान दिखता है देखेंगे! – Bobble
त्रुटि 'MyButton' तर्क को' PhotoImage() 'पर पास करने के लिए इंगित करती है। मुझे विश्वास नहीं है कि 'PhotoImage()' एक विजेट ऑब्जेक्ट का संदर्भ लेता है, इसलिए यह त्रुटि उत्पन्न कर सकता है। इसके बिना उस लाइन को आज़माएं, जैसे 'myImage = PhotoImage (file =' myPicture.gif ')' – gary
@ गैरी, ऐसा लगता है। 'फोटोइमेज' को रूट विंडो के स्पष्ट संदर्भ की आवश्यकता के बारे में सोचने के लिए मुझे कुछ दस्तावेज (और कुछ अन्य त्रुटियां उत्पन्न हुईं) द्वारा गुमराह किया गया था।कुछ और झुकाव के बाद मुझे रूट या बटन के संदर्भ में पाया गया कि इस तरह के 'फोटोइमेज' कन्स्ट्रक्टर पर एक अन्य कॉन्फ़िगरेशन विकल्प द्वारा प्रदान किया जा सकता है, 'फोटोइमेज (मास्टर = मायबटन, फ़ाइल =' myFile.gif '), लेकिन जिस तरह से मैंने इसे लिखा है, यह टिंकर को एक नाम की तरह दिखता है, जिसे एक स्ट्रिंग, सीसी माना जाता है। – Bobble