2016-05-24 13 views
0

Ich googlet viel und habe einige Anpassungen an meinem Code vorgenommen, der das Problem immer noch nicht behoben hat.Python 2.7 Tkinter Label mit Image "pyimage existiert nicht"

Mein Code:

photo = PhotoImage(file="D:/AE theoretische Neuropsychologie/image.gif") 
w = Label(app, image=photo) 
w.photo = photo 
w.pack() 

gibt mir die folgenden Fehler (-tracebacks)

Traceback (most recent call last): 

File "", line 1, in
File "C:\Users\Asus\Anaconda2\lib\site->packages\spyderlib\widgets\externalshell\sitecustomize.py", line 699, in runfile execfile(filename, namespace) File "C:\Users\Asus\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 74, in execfile exec(compile(scripttext, filename, 'exec'), glob, loc) File "D:/AE theoretische Neuropsychologie/PythonReps/vCGPDM/Segmentation/extremePointsMotion.py", line 45, in w = Label(app, image=photo) File "C:\Users\Asus\Anaconda2\lib\lib-tk\Tkinter.py", line 2591, in init Widget.init(self, master, 'label', cnf, kw) File "C:\Users\Asus\Anaconda2\lib\lib-tk\Tkinter.py", line 2090, in init (widgetName, self._w) + extra + self._options(cnf)) _tkinter.TclError: image "pyimage8" doesn't exist

[Dinge, die ich überprüft]

https://www.daniweb.com/programming/software-development/threads/154237/tkinter-problem https://mail.python.org/pipermail/tutor/2002-May/014584.html

+0

zeigen Sie bitte ein _complete_ Arbeitsprogramm, das diesen Fehler veranschaulicht. Sie lassen viele Details wie zum Beispiel, wie und wann Sie das Root-Fenster erstellen, ob dieser Code in einer Funktion ist oder nicht, etc. Bitte lesen Sie http://www.stackoverflow.com/help/mcve –

+0

Ok ich nicht weiß warum, aber irgendwie funktioniert es jetzt einfach mit app = Tk() So könnte dieser Thread geschlossen werden – codingBeginner01

Antwort

-1

Ersetzen app = (Tk) mit
app = Toplevel()

fixiert, erstellt jedoch ein neues Problem: Der Code erzeugt nun zwei Fenster. Ein mit den beiden Tasten und eine mit den beiden Etiketten Einbuchtung nicht, wie ich (natürlich alles nach, wenn bewegt in) erwarten

if __name__ == "__main__": 
app = Toplevel() 
app.title("Extreme Points in Motion Segmentation of BVHs") 
app.geometry('450x300+200+200') 
btnSelectF = Button(text='Open BVH File',width='20', command=callback) 
btnSelectF.pack() 
label = Label(app,text="no File selected",height=4) 
label.pack() 
photo = PhotoImage(file="D:/AE theoretische Neuropsychologie/PythonReps/vCGPDM/Segmentation/image.gif") 
w = Label(app, image=photo) 
w.photo = photo 
w.pack() 
btnCompute = Button(text='Compute Segmentation',width='20', command=computeSegmentation) 
btnCompute.pack() 
btnCompute.config(state="disabled") 
app.mainloop() 

Auch fand ich diese Antwort auf die Lösung

That's not really a proper fix because you rely on an imlicit root window created when the first widget is created. You end up with a variable root which isn't actually the true root window.