[英]Python: Closing a sub-child-window prevents the opening of a new sub-child
對於我在應用科學大學實驗室中的工作,我需要創建一個Python程序,該程序創建一個子窗口,並可能創建另一個子窗口。
到目前為止,這還算不錯。
棘手的事情是,我關閉了孩子的孩子,然后嘗試打開主窗口的新“孫子”。
在第一個孩子的水平上,關閉和打開也可以正常工作。 我可以輸入那個孩子,然后返回主菜單,依此類推。
這里是我現在正在處理的代碼:
import tkinter
def Praktika():
global Praktika
Praktika = tkinter.Toplevel(main)
Praktika.geometry("320x200")
Prak1 = tkinter.Button(Praktika, text="Praktikum 1", command =Praktikum1)
Prak1.pack()
Haupt = tkinter.Button(Praktika, text="Hauptmenu", command = ClosePraktika)
Haupt.pack()
def ClosePraktika():
Praktika.destroy()
def Praktikum1():
global Praktikum1
Praktikum1 = tkinter.Toplevel(main)
Praktikum1.geometry("320x200")
Haupt = tkinter.Button(Praktikum1, text="Hauptmenu", command = ClosePraktikum1)
Haupt.pack()
def ClosePraktikum1():
Praktika.destroy()
Praktikum1.destroy()
def CloseAll():
main.quit()
main = tkinter.Tk()
main.geometry("320x200")
main.title("Fueh")
tkinter.Button(main, text="Praktika", command=Praktika).pack()
tkinter.Button(main, text="Exit", command=CloseAll).pack()
main.mainloop()
這是迄今為止的第三次嘗試,經過我所做的研究,我開始認為處理亞孩子並不是我想的那么容易。
很好,已經非常感謝您的幫助!
問題是您有一個名為Praktikum1
的函數,然后創建了一個名為Praktikum1
的全局變量,該變量導致該函數被破壞。 因此,下次調用該函數時,實際上是在“調用”該變量。
請勿對全局變量和函數使用相同的名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.