如果我有一个名为 do_stuff()
的函数,如何在名为 root
的 tkinter 窗口完成加载后执行它。
与<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
当在 X Windows 中将窗口放置在屏幕上时,已映射,因此将引发 Tk <Map>
事件,让您的应用程序知道此窗口现已创建并在屏幕上。如果只想在创建后处理一次,请在第一次接收事件时删除绑定,因为每次在屏幕上重新映射窗口时都会发送该事件。IE:最小化和还原事件。