手动触发ttk notebook tab change事件
Manually triggering the ttk notebook tab change event
我说的是 <<NotebookTabChanged>>
可以绑定 ttk.Notebook
的事件。假设我有:
def tabChanged(self, event):
print "tab changed"
并说我想手动触发这个方法。我实际上的意思是,假设我有一个基本的选项卡式 GUI,并且有一个开始按钮,当您单击它时可以绘制图表。每个选项卡上都有绘图,当您更改选项卡时,会触发 <<NotebookTabChanged>>
,这是 ttk.Notebook
自动创建的事件。对于这种情况,我已经有了 self.tabChanged
方法。我想做的是,我想让我的开始按钮触发这个事件,这样我就不必为按钮创建一个新方法,它会做与 self.tabChanged
完全相同的事情。所以我需要一种通过单击按钮触发事件的方法,但请记住,该事件是 ttk.Notebook
自己的事件,显然它被设计用于选项卡,而不是按钮。有没有办法通过单击按钮手动触发 <<NotebookTabChanged>>
?
您可以使用 event_generate:
生成虚拟事件(例如:以 <<
和 >>
开始和结束的事件)
self.the_notebook.event_generate("<<NotebookTabChanged>>")
我说的是 <<NotebookTabChanged>>
可以绑定 ttk.Notebook
的事件。假设我有:
def tabChanged(self, event):
print "tab changed"
并说我想手动触发这个方法。我实际上的意思是,假设我有一个基本的选项卡式 GUI,并且有一个开始按钮,当您单击它时可以绘制图表。每个选项卡上都有绘图,当您更改选项卡时,会触发 <<NotebookTabChanged>>
,这是 ttk.Notebook
自动创建的事件。对于这种情况,我已经有了 self.tabChanged
方法。我想做的是,我想让我的开始按钮触发这个事件,这样我就不必为按钮创建一个新方法,它会做与 self.tabChanged
完全相同的事情。所以我需要一种通过单击按钮触发事件的方法,但请记住,该事件是 ttk.Notebook
自己的事件,显然它被设计用于选项卡,而不是按钮。有没有办法通过单击按钮手动触发 <<NotebookTabChanged>>
?
您可以使用 event_generate:
生成虚拟事件(例如:以<<
和 >>
开始和结束的事件)
self.the_notebook.event_generate("<<NotebookTabChanged>>")