PyGTK中HBox的间距设置

0 投票
2 回答
1082 浏览
提问于 2025-04-17 02:48

我刚接触GTK,想弄明白怎么实现这样的效果:

+---+------+---+
|   |      |   |
|   |      |   |
|   |      |   |
|   |      |   |
|   |      |   |
|   |      |   |
+---+------+---+

我想在一个HBox里做到这个效果。我该怎么做呢?谢谢。

2 个回答

0

这是通过“打包”来完成的。

我总是把类的参考资料放在枕头底下:http://www.pygtk.org/docs/pygtk/gtk-class-reference.html

在这里可以找到很好的教程示例:http://www.pygtk.org/pygtk2tutorial/sec-DetailsOfBoxes.html

最后,这个代码看起来和你的图形差不多:

import gtk as g

win = g.Window ()
win.set_default_size(600, 400)
win.set_position(g.WIN_POS_CENTER)
win.connect ('delete_event', g.main_quit)
hBox = g.HBox()
win.add (hBox)
f1 = g.Frame()
f2 = g.Frame()
f3 = g.Frame()
hBox.pack_start(f1)
hBox.pack_start(f2)
hBox.pack_start(f3)
win.show_all ()

g.main ()

玩得开心!(希望我的回答对你有帮助)

0

答案是 pack_start() 和 pack_end()。

这个函数有几个参数可以传递给它,这样你就能得到想要的效果。

如果你用 Louis 的例子:

hBox.pack_start(f1, expand =False, fill=False)
hBox.pack_start( f2, expand=True, fill=True, padding=50)
hBox.pack_end(f3, expand=False, fill=False)

希望这能帮到你!

撰写回答