具有动态变化宽度的子项的Gtk.Box布局容器的静态宽度

时间:2016-10-14 22:13:34

标签: python gtk3 pygobject

我有Gtk.Box垂直方向,我希望有一个静态宽度。原因是Box中的子节点大小不断变化,我希望整个布局具有相同的外观,而不是现在窗口中的其他内容重新排序时的情况

例如,Box子窗口小部件之一是Label,在程序运行期间给出了不同的字符串。 (我正在包装内容,以便显示整个字符串)

即使容器中有子项要扩展父容器(容器),如何为Box容器设置静态宽度?

到目前为止我尝试了什么:

  • 在父(布局)和子窗口(窗口小部件)上使用Widget.set_hexpand()
  • 在父级(布局)作为第一个参数的祖父(hbox)上使用Box.pack_start(),扩展和填充参数使用False

这些都不适合我。如果调整大小来自程序的内部更改或者如果我调整窗口大小,这些似乎仍然无效

欢迎任何帮助!

编辑:

更详细地研究一下,我发现如上所述使用pack_start只有当Label的文本足够短且不会与小部件边缘碰撞时才有效/ p>

我在测试时可以看到的行为是文本确实被包装,但只有在它占用了尽可能多的空间之后,所以它似乎 {{1}中的文本长度}}优先于Label(和pack_start)来确定set_halign 的大小

使用下面的代码示例,切换长文本的短文本以查看差异,并使用窗口的大小,似乎很明显这是它的工作原理

Label

我的设置:

  • Ubuntu 16.04
  • gi.version_info = 3.20
  • Python 3.5.2

0 个答案:

没有答案