如何在加载tkinter窗口后运行函数

时间:2018-03-23 05:52:34

标签: python python-3.x function tkinter loaded

如果我有一个名为do_stuff()的{​​{3}},我该如何执行 AFTER 名为{{1}的窗口完成加载。

2 个答案:

答案 0 :(得分:0)

当窗口放在X屏幕上时,Windows已被映射,因此会引发Tk <Map>事件,让您的应用程序知道此窗口现已创建并在屏幕上显示。如果您只想在创建后处理一次,则在每次窗口重新映射到屏幕时发送事件时,在第一次接收事件时删除绑定。即:最小化和恢复事件。

答案 1 :(得分:0)

类似于<Map>事件,只要窗口/窗口小部件可见,就会触发<Visibility>事件。通过取消绑定回调,我们可以确保在窗口可见时仅回调一次。

def callback():
    # your code here
    root.unbind('<Visibility>') # only call `callback` the first time `root` becomes visible

root.bind('<Visibility>', callback) # call `callback` whenever `root` becomes visible