Tkinter具有低级事件,例如
<Visibility>和
<Map>,这些事件应在页面更改时触发。不幸的是,这些功能并非在所有平台上都能可靠运行。
最简单,最可靠的解决方案是生成您自己的事件。您可以通过在
<<和中指定事件来创建并绑定到自定义事件
>>(例如:)
<<Showframe>>。
首先,更改
show_frame为在事件显示时将其发送到窗口:
def show_frame(self, page_name): ... frame.event_generate("<<Showframe>>")接下来,如果需要将每个页面显示为可见,则可以将其绑定到该事件:
class UploadPage(tk.frame): def __init__(self, parent, controller): ... self.bind("<<Showframe>>", self.on_show_frame) def on_show_frame(self, event): print("I am being shown...")


