2015-06-20 124 views
1

我在說的是<<NotebookTabChanged>>ttk.Notebook可以綁定到的事件。說我有:手動觸發ttk筆記本標籤更改事件

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

並說我想手動觸發此方法。我的意思是說,我有一個基本的標籤式圖形用戶界面,並有一個開始按鈕,當你點擊它時會產生圖形。每個選項卡上都有圖表,當您更改制表符時,會觸發<<NotebookTabChanged>>,這是由ttk.Notebook自動創建的事件。對於這種情況,我已經有了self.tabChanged方法。我想要做的是,我想讓我的開始按鈕觸發這個事件,所以我不必爲按鈕創建一個新方法,它將完成與self.tabChanged完全相同的操作。所以我需要一種通過點擊按鈕觸發事件的方式,但請記住,該事件是ttk.Notebook的自己的事件,顯然它被設計爲與選項卡一起使用,而不是按鈕。點擊按鈕可以手動觸發<<NotebookTabChanged>>嗎?

回答

1

您可以生成虛擬事件(如:事件開始,並以<<>>結束)與event_generate

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

謝謝您的幫助。在按鈕點擊方法的最後一行之後添加通過此行生成虛擬事件給了我想要的結果。 – Deniz