全局函数不能与tkin一起工作

2024-04-24 06:24:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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()

Tags: 文件函数selfmaster脚本initdefroot
1条回答
网友
1楼 · 发布于 2024-04-24 06:24:33

我不得不对代码做了一些修改,但这很管用(希望能有所帮助):

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()

我尽量不使用globals太多,因为它可以在一个大的程序变得复杂。:)最好直接在地方之间发送数据。:)

我只是重读了这个问题。如果你想使用另一个文件文件.py启动时只需说:导入文件

如果您想从任何地方关闭窗口,只需使用显示tkdel()因为这是一条直接路径。真希望这有帮助。:)

相关问题 更多 >