我正在使用 PyGTK,试图提出一个小部件的组合,这些小部件将执行以下操作:
- 让我在一列中添加无数个小部件
- 提供垂直滚动条以到达底部的滚动条
- 调整窗口大小时,调整小部件的宽度以填充可用的水平空间
谢谢 - 我是 GTK 的新手。
现在是诀窍。如果您只是按照我上面列出的方式进行操作,VBox 的内容将尝试垂直和水平调整大小,并且您将无法获得滚动条。解决方案是将您的 VBox 放在 GtkViewport 中。
所以最终的层次结构是 ScrolledWindow(Viewport(VBox(widgets)))。
史蒂夫在代码中所说的:
vbox = gtk.VBox()
vbox.pack_start(widget1, 1, 1) ## fill and expand
vbox.pack_start(widget2, 1, 1) ## fill and expand
vbox.pack_start(widget3, 1, 1) ## fill and expand
swin = gtk.ScrolledWindow()
swin.add_with_viewport(vbox)