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

在第一行中,我输入:GtkScrolledWindow,并在其中包含两列的TreeView

在第二行中,我输入:ButtonBox,并在其中放入GtkButtonComboBox和另一个GtkButton

问题是:第二行(带有按钮的底部一行)在按钮的上方和下方都有太多空间,因此,我该如何设置该单元格的高度以使其与按钮的高度匹配,而不会“浪费”上方和下方的空间?

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

最佳答案

您正在创建的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之类的打包属性。

关于python - 如何调整GtkGrid单元的大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15662217/

10-08 21:44