控制 GTK 中按钮/HBox 的大小

3 投票
2 回答
7467 浏览
提问于 2025-04-16 08:30

我正在用Python写一个应用程序,使用了getk库,但遇到了一个问题。我用一个hbox来放置工具栏上的按钮(比如新建、打开、保存等),但是这个hbox似乎在不断扩展,占据了屏幕的某个区域,导致按钮也变得很高,看起来很难看。我想让它们保持在一个合适的大小。我已经尝试把扩展和填充的值设置为false,但找不到控制按钮或hbox大小的方法。下面是我新建按钮的代码:

img = gtk.Image()
img.set_from_stock(gtk.STOCK_NEW,gtk.ICON_SIZE_SMALL_TOOLBAR)
newButt = gtk.Button()
newButt.set_image(img)
newButt.show()
self.hBox4.pack_start(newButt, False, False, 0)

2 个回答

0

子部件会根据它们的父部件能提供的空间来决定自己的大小。所以你需要设置一下hbox或者按钮的大小。

想了解更多信息,可以查看这里的PyGTK中的size_request方法。

3

你需要把整个 HBox 放在一个 VBox 里面,像这样:

main = gtk.VBox(False)
...
main.pack_start(self.hbox4, False)

这样做的原因是,gtk 允许窗口调整大小,所以它不会固定高度和宽度。通过使用 VBox,你是在告诉 Gtk,我希望 HBox 只占用窗口顶部所需的空间。

希望这能帮到你。

撰写回答