Tkinter geri git tuşu

Arkadaşlar merhabalar forumda yeniyim. Bir sorunum var. Tkinter ile hasta kayıt sistemi yapıyorum. Sisteme geri git tuşu eklemem lazım. Frame ile yapabiliyorum. Fakat Tk ile bir pencere acıp, ardından buna baglı olarak farklı pencerede acıp,ilk pencereyi destroy ile kapattıgımda geri git tuşu hata veriyor.

Yardım eder misiniz? Lütfen

Nasıl bir hata alıyorsunuz, hata nedir?

Burada geri git tuşu çalışıyor bir sıkıntım yok. Frame özelliğinden kaynaklanıyor sanırım

def yeniKullanici():
global resulStr

yenikullanic = Frame(root)
yenikullanic.place(relwidth=.9, relheight=.9, relx=.05, rely=.03)

usernameLabel = Label(yenikullanic, text="Hasta Adı Soyadı: ", font=("Arial", 13), fg="Black")
usernameEntry = Entry(yenikullanic, width=20)
usernameLabel.place(x=7, y=30)
usernameEntry.place(x=150, y=34)

TckimlikLabel = Label(yenikullanic, text="Hasta Tc Kimlik:", font=("Arial", 13))
Tckimlik = Entry(yenikullanic, width=20, show="*")
Tckimlik.place(x=150, y=94)
TckimlikLabel.place(x=7, y=90)

back = Button(yenikullanic, text="Geri Git", bg="red", fg="white", width=6,
              command=lambda: yenikullanic.place_forget())
back.place(x=250, y=150)

registerButon = Button(yenikullanic, text="Kayıt Ol", width=10, fg="White", bg="Green",
                       command=lambda: kayitIslem(usernameEntry.get(), Tckimlik.get()))
registerButon.place(x=140, y=150)

resulStr = StringVar()
result = Label(yenikullanic, textvariable=resulStr, font=("Arial", 17))
result.place(x=150, y=300)
sil=Button(yenikullanic,text="Tc Sil",bg="Maroon",fg="White",width=6,
           command=lambda:Tckimlik.delete(0,END))
sil.place(x=250,y=200)
sill=Button(yenikullanic,text="Id Sil",bg="Grey",fg="White",width=6,
            command=lambda:usernameEntry.delete(0,END))
sill.place(x=140,y=200)
sil_=Button(yenikullanic,text="Sil",bg="Yellow",width=7,
            command=lambda:usernameEntry.delete(0,1))
sil_.place(x=300,y=30)
sil__=Button(yenikullanic,text="Sil",bg="Yellow",width=7,
             command=lambda:Tckimlik.delete(0,1))
sil__.place(x=300,y=90)
yenikullanic.mainloop()

anaSayfa = Frame(root)
anaSayfa.place(relwidth=.9, relheight=.9, relx=.05, rely=.03)

stringuser=StringVar()
stringtc=StringVar()

usernameLabel = Label(anaSayfa, text="Hasta Adı Soyadı: ", font=(“Arial”, 13), fg=“Black”)
usernameEntry = Entry(anaSayfa, width=20,textvariable=stringuser)

usernameLabel.place(x=7, y=30)
usernameEntry.place(x=150, y=34)
anaSayfa.tk_setPalette("#7FFFD4")
sil = Button(text=“Sil”, bg=“Yellow”, width=7,
command=lambda: usernameEntry.delete(0, END))
sil.place(x=320, y=45)
sill = Button(text=“Sil”, bg=“Yellow”, width=7,
command=lambda: TckimlikEntry.delete(0, END))
sill.place(x=320, y=105)

TckimlikLabel = Label(anaSayfa, text=“Hasta Tc Kimlik: “, font=(“Arial”, 13))
TckimlikEntry = Entry(anaSayfa, width=20, show=”*”,textvariable=stringtc)

TckimlikLabel.place(x=7, y=90)
TckimlikEntry.place(x=150, y=94)

enter = Button(anaSayfa, text=“Giriş”, fg=“White”, width=10, bg=“Blue”, command=lambda: Duzenle(usernameEntry.get(),TckimlikEntry.get()))
enter.place(x=250, y=150)

image = Image.open(‘Resim.gif’)
img = image.resize((200, 200)) # boyutlandırma
resim = ImageTk.PhotoImage(img)
label = Label(image=resim)
label.place(x=400, y=30)

registerButon = Button(anaSayfa, text=“Kayıt Ol”, width=10, fg=“White”, bg=“Green”, command=yeniKullanici)
registerButon.place(x=140, y=150)

#region
image=Image.open(‘Resim.gif’)
img=image.resize((200, 200)) # boyutlandırma
resim=ImageTk.PhotoImage(img)
label = Label(image=resim,bg=“Black”)
label.place(x=400, y=30)
#endregion

#region
xresim = PhotoImage(file=‘img.png’)
etiket = Label(anaSayfa, image=xresim)
etiket.place(x=0,y=200)
lb=Label(text=“Sana yakın uzman bul.”,font=(“Arial”,12))
lb.place(x=70,y=390)
lb1=Label(text=“Yaşadığın yere en yakın ve\n en çok yorum yapılan doktoru bul.”,font=(“Helvetica”,8))
lb1.place(x=70,y=410)
#endregion

#region
xresimm = PhotoImage(file=‘img_1.png’)
etikett = Label(anaSayfa, image=xresimm)
etikett.place(x=350,y=180)
lb2=Label(text=“Randevu tarihini belirle ve randevunu oluştur.”,font=(“Arial”,12))
lb2.place(x=350,y=390)
lb3=Label(text=“Sana uygun olan en yakın randevu tarihi ve\n saatini belirle ve randevunu oluştur.”,font=(“Helvetica”,8))
lb3.place(x=350,y=410)

root.mainloop()

Pencereler arası geçişte geri tuşu yapmak istiyorum.
muhtemelen destroy kullandığım için anasayfaya geri gidemiyor.
Toplevel ile denedim
Pencereler arası geçişte Frame mi kullansam?

Denediğim kodlarda genellikle şu hatayı veriyor

_tkinter.TclError: image “pyimage5” doesn’t exist

def Duzenle(hastabilgisi,tckimlik):

        root.destroy()
        global duzenle
        duzenle=Tk()
        duzenle.geometry("720x700")
        lb1 = Label(duzenle,text="İstanbul Devlet Hastanemize Hoşgeldin", font="Times 20 italic")
        lb1.pack()
        global zmn_label

        Geri=Button(text="Geri Git",height=3,width=20,command=lambda:duzenle.place_forget())
        Geri.pack()

        image = Image.open('img_2.png')
        img = image.resize((300, 300))  # boyutlandırma
        resim = ImageTk.PhotoImage(img)
        label = Label(duzenle,image=resim, bg="Black")
        label.place(x=350, y=50)

        immag= Image.open('img_5.png')
        imgg= immag.resize((200,200))  # boyutlandırma
        resimm = ImageTk.PhotoImage(imgg)
        label = Label(duzenle, image=resimm)
        label.place(x=50, y=265)

        zmn_label=Label(duzenle,bg='white',font=("ds-digital",50),background="black",foreground="cyan")
        zmn_label.place(x=30,y=180)
        zaman()



        asistan=Button(duzenle,text="Sesli Asistan",bg='pink',fg='white',width=20,height=1,font=("Arial",18),activebackground='Blue',command=lambda:sesliAsistan)
        asistan.place(x=350,y=500)


        buton=Button(duzenle,text="Mevcut Randevuları Görüntüle",bg="Green",fg="White",width=25,height=3,command=lambda:RandevuListele())
        buton.place(x=300,y=370)
        buton1=Button(duzenle,text="Randevunu Görüntüle",bg="Green",fg="White",width=20,height=3,command=lambda:RandevunuListele(hastabilgisi))
        buton1.place(x=520,y=370)



        hava_buton=Button(text="Güncel Hava Durumu",bg="black",fg="white",font=("Arial",18),command=hava_Durumu)
        hava_buton.place(x=30,y=500)


        global x
        x=StringVar()

        Klinik=['Diyetisyen','Genel Cerrahi','KBB','Nöroloji','Psikiyatri','Dermatoloji','Fizyoloji','Dahiliye']

        diyetComb=Combobox(duzenle,text="",values=Klinik,height=3,textvariable=x,width=20,)
        diyetComb.place(x=50,y=70)

        buton = Button(duzenle, text="Seç", command=Test,width=10)
        buton.place(x=70,y=130)




        duzenle.mainloop()

Burada basit bir proje yapmıştım ondan yararlanabilirsiniz.

1 Beğeni

Kodları sağlam yazmışsın