Hallo ich einen Job mache, die ich (von einem tkinter Fenster ein Bild enthält) benötigen rufen Sie ein weiteres Fenster, das ein anderes imagem.I enthält folgendes versucht:Python-tkinter: Ein anderes Bild in einem anderen Fenster öffnen?
from tkinter import*
def abrir1():
b =Tk()
imagen = PhotoImage(file= "F2.png")
la = Label(b,image =imagen)
la.pack()
def abrir2():
b =Toplevel()
imagen = PhotoImage(file= "F2.png")
la = Label(b,image =imagen)
la.pack()
a = Tk()
canvas = Canvas(a, bg ="black",width = 512,height =512)
canvas.pack()
imagem = PhotoImage(file = "E2.png")
a1 = canvas.create_image(256,256,image = imagem)
btu1 = Button(a,text ="Abri1!",command = abrir1)
btu1.place(x = 150,y=400)
btu2 = Button(a,text ="Abri2!",command = abrir2)
btu2.place(x = 300,y=400)
Aber wenn ich drücken Sie die erste Taste (BTU1) es gibt die folgende Fehlermeldung:
_tkinter.TclError: image "pyimage2" doesn't exist
Und wenn, wenn ich drücken sie die zweite Taste (BTU2) nicht Fehler passieren, aber zeigt nicht das Bild, nur das neue Fenster erstellt wird;
Ich habe darunter mehrere Möglichkeiten ausprobiert * mit Leinwand und ohne Leinwand * platzieren;
Alle Fragen auf Stackoverflow sind in englischer Sprache geschrieben werden, so dass jeder die Frage verstehen und mögliche Lösungen. – Suever
Das Problem ist, dass Sie zwei Instanzen von 'Tk' erstellen:' a = Tk() 'und' b = Tk() '. Sie müssen nur eine Instanz erstellen. –
Ja, ich habe es herausgefunden, also habe ich die Funktion 'def abir2():' erstellt, um '' Toplevel() 'zu erstellen, gibt es kein Problem mit der zweiten Instanz von tkinter. Wenn Sie einen alternativen Weg vorschlagen könnten, würde ich es begrüßen. –