【问题标题】:How to adjust the size of a GtkGrid cell?如何调整 GtkGrid 单元格的大小?
【发布时间】:2013-03-27 15:06:43
【问题描述】:

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

在第一行我放了一个GtkScrolledWindow,在里面放了一个TreeView,有两列。

在第二行我放了一个ButtonBox,在里面放了一个GtkButton、一个ComboBox和另一个GtkButton

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

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

【问题讨论】:

  • 下次考虑将您的代码放在页面中以便我们查看。该链接 404 的

标签: python user-interface gtk3 pygobject


【解决方案1】:

您正在创建 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 那样具有打包属性。

【讨论】:

  • 哇...它就像一个魅力!非常感谢 @ebassi 阅读我的代码并给出如此准确的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-14
  • 1970-01-01
  • 1970-01-01
  • 2017-07-09
  • 1970-01-01
  • 2013-05-26
  • 1970-01-01
相关资源
最近更新 更多