我正在使用PyGTK和gtk.Assistant。在一个页面上,我在gtk.ScrolledWindow中放置了一个treeview (一列,只是字符串)(我想要垂直滚动条,因为列表包含大约35项)。一切都很好;唯一困扰我的是,我还没有从文档中找出如何设置滚动窗口的大小。目前一次只显示三个项目;我想将这个数字设置为10左右。
下面是密码。正如您所看到的,我已经尝试使用gtk.Adjustment来影响滚动窗口的大小,但是--再一次--我没有能力从文档中检索所需的信息,我实际上不知道应该将哪些值放入其中。
self.page7 = gtk.VBox()
# The gtk.Adjustment:
page_size = gtk.Adjustment(lower=10, page_size=100) # just used some arbitrary numbers here >_<
scrolled_win = gtk.ScrolledWindow(page_size)
scrolled_win.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) # only display scroll bars when required
self.character_traits_treeview = gtk.TreeView()
self.character_traits_treestore = gtk.TreeStore(str)
self.character_traits_treeview.set_model(self.character_traits_treestore)
tc = gtk.TreeViewColumn("Character traits")
self.character_traits_treeview.append_column(tc)
cr = gtk.CellRendererText()
tc.pack_start(cr, True)
tc.add_attribute(cr, "text", 0)
self.character_trait_selection = self.character_traits_treeview.get_selection()
self.character_trait_selection.connect('changed', self.check_number_of_character_trait_selections)
self.character_trait_selection.set_mode(gtk.SELECTION_MULTIPLE)
self.make_character_traits_treestore()
# adding the treeview to the scrolled window:
scrolled_win.add(self.character_traits_treeview)
self.page7.pack_start(scrolled_win, False, False, 0)
self.assistant.append_page(self.page7)
self.assistant.set_page_title(self.page7, "Step 7: Select 2-3 character traits")
self.assistant.set_page_type(self.page7, gtk.ASSISTANT_PAGE_CONTENT)
self.assistant.set_page_complete(self.page7, False)
def check_number_of_character_trait_selections(self, blah):
# ...
def make_character_traits_treestore(self):
# ...我知道我应该用RTFM,但由于我不能左右它的头尾,而且随着进一步的搜索也没有效果,我只是希望这里的人能给我一个提示。
提前谢谢!
PS:以下是指向以下内容的链接:
发布于 2011-01-03 09:51:09
我一直非常,非常愚蠢,这只是一个包装问题,>_<
这条线
self.page7.pack_start(scrolled_win, False, False, 0)应改为
self.page7.pack_start(scrolled_win, True, True, 0)而不是!
现在一切都像我想要的那样。
https://stackoverflow.com/questions/4579401
复制相似问题