Gtk HeaderBar 不会扩展子元素

2 投票
2 回答
901 浏览
提问于 2025-04-19 11:38

我正在使用Gtk在Linux上用Python 3构建一个应用程序。我想使用Gtk.HeaderBar。到目前为止,它的工作还不错,但我发现无法让它的子组件扩展。例如:

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

你可以查看这个页面上的图示,帮助你更直观地理解。

撰写回答