我正在使用pygtk和 gtk.Assistant. 。在一页上,我在一个页面上放置了一个树景(一列,只是字符串) gtk.ScrolledWindow (我想要垂直滚动条,因为该列表包含大约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:以下是:

有帮助吗?

解决方案

我一直非常非常愚蠢,这只是一个包装问题> _

这线

self.page7.pack_start(scrolled_win, False, False, 0)

应该读

self.page7.pack_start(scrolled_win, True, True, 0)

反而!

现在,一切看起来都像我想要的外观一样。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top