我是Python的新手,但第一次遇到障碍。我有一个带有画布的消息框,其中装有图像,该图像通过被动红外传感器触发以激活。
一切正常,但我希望消息框在5秒钟后消失。时间延迟不是问题,但是尝试使消息框消失是另一件事,一直在使用destroy()
,但什么也没使用。
了解窗口级别,即“顶层”。但是想知道是否有人可以指出我正确的方向。
答案 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()
希望这会有所帮助!