Tkinter在没有按钮的情况下打开新框架

时间:2016-11-22 13:26:00

标签: python tkinter frame

我有一个多帧Tkinter程序正在运行,我需要在没有按下按钮的情况下打开一个新帧。

如果我有一个按钮,它将被编码为:

button = tk.Button(self, text="New Window",
                   command=lambda: controller.show_frame("NewWindow"))

有没有办法在time.sleep(60)命令后打开新窗口?这就是我的尝试:

def on_button(self):
     if LogIn in Data:
            time.sleep(5)
            print("Welcome")
            root.after(6, controller.show_frame("HomePage")) 
        else:
            print("please register")

各种数据和编码在定义之后。如果条件为真,则“登录”这是我希望它显示新帧的时间

Root给出错误:NameError:未定义名称“root”

Controller.after(etc)给出:NameError:名称'controller'未定义

尽管在整个程序的其余部分经常使用控制器而没有问题

1 个答案:

答案 0 :(得分:2)

我建议after回调参见:Alarm handlers and other non-event callbacks

  

之后(delay_ms,callback = None,* args)[#]
  注册在给定时间后调用的警报回调。

root.after(60000, new_window_func, args)