手动触发ttk笔记本选项卡更改事件

时间:2015-06-20 20:15:00

标签: python events tabs tkinter ttk

我正在谈论<<NotebookTabChanged>>可以绑定的ttk.Notebook事件。说我有:

def tabChanged(self, event):
    print "tab changed"

并说我想手动触发此方法。我的实际意思是,我说有一个基本的标签式GUI,并且有一个开始按钮,当你点击它时会产生情节。每个选项卡上都有图表,当您更改标签时,<<NotebookTabChanged>>会被触发,这是由ttk.Notebook自动创建的事件。对于这种情况,我已经有了self.tabChanged方法。我想做的是,我想让我的开始按钮触发这个事件,所以我不必为按钮创建一个新方法,它将完成与self.tabChanged完全相同的操作。所以我需要一种通过按钮点击触发事件的方法,但请记住,该事件是ttk.Notebook自己的事件,显然它被设计为与标签一起使用,而不是按钮。有没有办法通过点击按钮手动触发<<NotebookTabChanged>>

1 个答案:

答案 0 :(得分:1)

您可以使用event_generate生成虚拟事件(例如:以<<>>开头和结尾的事件):

self.the_notebook.event_generate("<<NotebookTabChanged>>")