我正在 Python + Gtk3 中编写一个小应用程序。我使用的是一列两行的GtkGrid
。
在第一行中,我输入:GtkScrolledWindow
,并在其中包含两列的TreeView
。
在第二行中,我输入:ButtonBox
,并在其中放入GtkButton
,ComboBox
和另一个GtkButton
。
问题是:第二行(带有按钮的底部一行)在按钮的上方和下方都有太多空间,因此,我该如何设置该单元格的高度以使其与按钮的高度匹配,而不会“浪费”上方和下方的空间?
代码是here,这是我的程序的屏幕截图:
最佳答案
您正在创建的GtkGrid具有均匀的列和行间距;这意味着您的列和行将具有相同的大小,这是所有列和行之间的最大自然大小。
创建网格时,请删除row_homogeneous=True
属性。如果要扩展TreeView,则应在其上将hexpand
和vexpand
属性设置为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/