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

sky*_*tux 4 python user-interface pygobject gtk3

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

在第一行中我放了:a GtkScrolledWindow,里面TreeView有两列.

在第二行中我放了:a ButtonBox,里面是a GtkButton,a ComboBox和另一个GtkButton.

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

代码在这里,这是我的程序的屏幕截图:

在此输入图像描述

eba*_*ssi 10

你正在为列和行创建具有均匀间距的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)
Run Code Online (Sandbox Code Playgroud)

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