Startfenster Hauptfenster Canvas

Fragen zu Tkinter.
Antworten
PhilippKitz
User
Beiträge: 2
Registriert: Montag 23. Juli 2018, 16:01

Ich bin gerade dabei ein Quiz-Game zu programmieren
Kurze funktionserkläreung des Programmes:
Zuerst sollte sich ein Startfenster öffnen in dem ich Spieleranzahl und die Anzahl der Fragen einstellen kann
Wenn ich dann im Start fenster start drücke wird QuizGame.py importiert und gestartet wodurch auch das eigentliche Quiz beginnt
Die Fragen sind PNG wodurch ich auch ein Canvas verwende.
Derzeit habe ich das Startfenster fertig und arbeite am QuizGame.py und nun zum Problem

Wenn ich direkt QuizGame.py starte wird sofort die Frage angezeigt und ich kann mit dem Beantworten beginnen
Jedoch wenn ich es über dem Startfenster Starte kommt dieser fehler:

.........
w.create_image(516/2,720/2,image=frageAnz)
File "C:\Users\Philipp\Anaconda3\lib\tkinter\__init__.py", line 2483, in create_image
return self._create('image', args, kw)
File "C:\Users\Philipp\Anaconda3\lib\tkinter\__init__.py", line 2474, in _create
*(args + self._options(cnf, kw))))
_tkinter.TclError: image "pyimage2" doesn't exist

Wie kann das sein?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Da Du von mehreren Fenstern schreibst: Kann es sein das Du mehr als einmal `Tk` verwendest? Das darf man nicht, denn das ist *das* Hauptfenster. Wenn man zusätzliche Fenster benötigt, muss man die mit `Toplevel` erstellen.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
PhilippKitz
User
Beiträge: 2
Registriert: Montag 23. Juli 2018, 16:01

Ja beide sind Tk.
Bin relativ neu bei Python werde es gleich mit Toplevel versuchen

Wo genau liegt der unterschied zwischen Tk und toplevel?
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@PhilippKitz: Naja, wie ich schon schrieb, `Tk` ist *das* Hauptfenster, da hängt der ganze Tk/Tcl-Interpreter dran, und das darf es nur einmal geben. Wenn es mehrere gibt, folgt undefiniertes Verhalten. Und es passieren solche Dinge wie Du sie gesehen hast.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten