Python 3通过代码关闭tkinter消息框

时间:2018-11-29 06:32:59

标签: python-3.x tkinter

我是Python的新手,但第一次遇到障碍。我有一个带有画布的消息框,其中装有图像,该图像通过被动红外传感器触发以激活。

一切正常,但我希望消息框在5秒钟后消失。时间延迟不是问题,但是尝试使消息框消失是另一件事,一直在使用destroy(),但什么也没使用。

了解窗口级别,即“顶层”。但是想知道是否有人可以指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

这是我能给您的最好的选择。

这是一个面向对象的程序,说实话我刚刚开始了解他们在做什么。

但是只关注def create_window(self)

它接受它声明的窗口实例t并将所有信息放在.destroy上。

import tkinter as tk

class MainWindow(tk.Frame):
    counter = 0
    def __init__(self, *args, **kwargs):
        tk.Frame.__init__(self, *args, **kwargs)
        self.button = tk.Button(self, text="Create new window", command=self.create_window)
        self.button.pack(side="top")

    def create_window(self):
        self.counter += 1
        t = tk.Toplevel(self)
        t.wm_title("Window #%s" % self.counter)
        l = tk.Label(t, text="This is window #%s" % self.counter)
        l.pack()
        b = tk.Button(t, text='close', command=t.destroy)
        b.pack()

if __name__ == "__main__":
    root = tk.Tk()
    main = MainWindow(root)
    main.pack(side="top", fill="both", expand=True)
    root.mainloop()

希望这会有所帮助!