如何调整GtkGrid单元格的大小?

时间:2013-03-27 15:06:44

标签: python user-interface gtk3 pygobject

我正在使用 Python + Gtk3 编写一个小应用程序。我正在使用一个列和两行的GtkGrid

在第一行中我添加了GtkScrolledWindow,其中包含两列TreeView

在第二行中我添加了ButtonBox,其中包含GtkButtonComboBox和另一个GtkButton

问题是:第二行(带按钮的底部)在按钮上方和下方有太多空间,所以我该怎么做才能设置该单元格的高度以匹配高度按钮,上面和下面没有“浪费”空间?

代码为here,这是我程序的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:8)

你正在为列和行创建具有均匀间距的GtkGrid;这意味着您的列和行将获得相同的大小,这是所有列和行之间的最大自然大小。

创建网格时,请删除row_homogeneous=True属性。如果您希望TreeView扩展,您应该将hexpandvexpand属性设置为True,即:

    # creamos una grilla
    self.grid = Gtk.Grid(column_homogeneous=True,
                         column_spacing=10,
                         row_spacing=10)

    [...]

    # creamos el TreeView
    self.treeview = Gtk.TreeView(model=self.liststore)
    # set the TreeView to expand both horizontally and vertically
    self.treeview.set_hexpand(True)
    self.treeview.set_vexpand(True)

GtkGrid是一个容器和布局管理器,它尊重GtkWidget上的水平和垂直扩展和对齐标志,而不是像GtkBox或GtkTable那样具有打包属性。