Gtk.ScrolledWindow()如何工作?什么是规则/良好做法?

时间:2016-07-11 12:44:03

标签: python-3.x treeview gtk3

我试图在Gtk.TreeView()中显示Gtk.MessageDialog(),如下所示:

    box = dialog.get_message_area()
    box.add(treeview)

它有效:

tall dialog

但它对于对话窗口来说太高了。您认为树视图小部件会处理自己的大小分配和滚动条,但是确定:

    scrolledwindow = Gtk.ScrolledWindow()
    scrolledwindow.set_policy(Gtk.PolicyType.NEVER,  Gtk.PolicyType.AUTOMATIC)

    scrolledwindow.add_with_viewport(treeview)

    box.add(scrolledwindow)

但显然这是正确的做法:

empty dialog

没有错误,没有。只是空对话。 这真让我抓狂。我感觉到我想要做的事情是不可能/不鼓励的,但我无法找到相关信息。我的意思是,也许它不是我必须使用的Gtk.MessageDialog()?但我无法找到相关的相关信息。 我只想在弹出窗口中显示表格数据 ,为什么这么难,现在已经两天了......?谢谢你的指导,我在这里迷了路。

1 个答案:

答案 0 :(得分:1)

好的,我在an archived mail somewhere找到了解决方案(非常感谢你)。 是的,您可以将树视图放在scrolled_window 中。解决方案是使用

scrolledwindow.set_size_request(x, y)

因为否则滚动的窗口高1px ..?! 这没有正确记录。 This page应该引入所有Gtk3 +容器,并附带代码示例。它没有说明Gtk.ScrolledWindow()的任何内容。文档分散all over the place。好吧,另一天点击了点击,我希望这条消息可以帮助某人。