[英]global functions dont work with tkinter
我用Python3編寫了一個基本腳本來創建一個基本功能,該功能將顯示然后關閉一個窗口。 我想要一個關閉窗口的功能,因此我可以將腳本導入到我擁有的另一個文件中,而不會使其過於混亂。 我試過了,但是編譯器返回的name tkdel() is not defined
。
def tkdisp(t):
import tkinter as tk
class disp(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.pack()
self.distk = tk.Label(self)
self.distk["text"] = t
self.distk.pack(side="top")
root = tk.Tk()
disp(master=root).mainloop()
def tkdel():
global tkdel
root.destroy
tkdisp('nice')
tkdel()
好吧,我不得不相當多地更改代碼,但這可以工作(希望有幫助):
import tkinter as tk
root = tk
class disp(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.pack()
self.distk = tk.Label(self)
self.distk["text"] = t
self.distk.pack(side="top")
root = tk.Tk()
disp(master=root).mainloop()
def tkdel():
#global tkdel
app = None
exit()
disp.tkdel()
我盡量不要過多使用全局變量,因為它在大型程序中會變得很復雜。 :)最好直接在地點之間發送數據。 :)
我只是重讀了這個問題。 如果要使用其他文件 -如file.py,則可以在啟動時通過說出以下內容來導入文件 : import file
如果要從任何地方關閉窗口,請使用disp.tkdel(),因為這是直接路徑。 真的希望這會有所幫助。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.