1

我第一次使用 gtk.Notebook 小部件,并试图让我的应用程序“记住”我退出时转到的页面。但是, 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 同意。我看不出我在这里做错了什么,如果有的话;这是一个错误吗?

4

1 回答 1

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
于 2013-05-06T18:25:40.010 回答