Gtk HeaderBar 不会扩展子元素
我正在使用Gtk在Linux上用Python 3构建一个应用程序。我想使用Gtk.HeaderBar。到目前为止,它的工作还不错,但我发现无法让它的子组件扩展。例如:
如上图所示,我尝试将我的Gtk.Entry放入Gtk.HeaderBar中,但即使我使用Gtk.Entry.set_hexpand(True)这样的设置,它也就是不扩展。我甚至尝试将它放在一个Gtk.Box里,先扩展Gtk.Box,然后再把Gtk.Entry放进去。即使我把Gtk.Entry设置为Gtk.HeaderBar的自定义标题,结果也是这样:
这是什么原因呢?我该如何解决这个问题?
2 个回答
1
你可以用 Box 来代替 Headerbar,方法是使用 window.set_titlebar。
1
开启 hexpand
只是表示你希望这个小部件能占用剩下的所有空间,但这并不会实际改变小部件的大小。你还需要把 halign
属性设置为 GTK_ALIGN_FILL
(或者在 Python 中叫别的名字)来配合使用 hexpand
。
你可以查看这个页面上的图示,帮助你更直观地理解。