2013-05-06 82 views
1

我使用的是gtk.Notebook部件首次並試圖讓我的應用程序「記住」它被打開時,我退出頁面。但是,get_current_page方法似乎不起作用。此代碼:PyGTK的筆記本get_current_page()不工作

self.notebook = gtk.Notebook() 
self.singleFilePane = gtk.Label("Single File") 
self.notebook.append_page(self.singleFilePane, gtk.Label("Single File")) 
self.multiFilePane = gtk.Label("Multiple Files") 
self.notebook.append_page(self.multiFilePane, gtk.Label("Multiple Files")) 
print self.notebook.get_n_pages(), self.notebook.get_current_page() 

打印輸出如下:

2 -1 

從notebook.get_current_page -1結果應該說筆記本沒有的網頁,但顯然它,因爲我只是說他們,和get_n_pages同意。我看不出什麼,如果有的話,我可能在這裏做錯了;這是一個錯誤?

回答

2

gtk.Notebook尚未顯示,因此當前頁面尚未設置。以下代碼通過將其添加到頂層窗口來顯示筆記本。

self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) 
self.notebook = gtk.Notebook() 
self.singleFilePane = gtk.Label("Single File") 
self.notebook.append_page(self.singleFilePane, gtk.Label("Single File")) 
self.multiFilePane = gtk.Label("Multiple Files") 
self.notebook.append_page(self.multiFilePane, gtk.Label("Multiple Files")) 
self.window.add(self.notebook) 
self.window.show_all() 
print self.notebook.get_n_pages(), self.notebook.get_current_page() 

這將打印

2 0 
+0

這種解決方案並不爲我工作。 – 2014-07-18 02:06:55