1

我用 ComboBox 制作了一个用户界面。我正在使用 glade 所以我在运行时执行以下操作

combo_box.set_model(liststore)
cell = gtk.CellRendererText()
combo_box.pack_start(cell,False)
combo_box.add_attribute(cell,'text',0)

当我点击 ComboBox 时,cellrenderer 占据了屏幕的所有垂直空间。但是,如果我限制 liststore 中的项目数并且 cellrenderer 不需要滚动,问题就会消失。

这是问题的图片:

问题

怎么了?

感谢您的时间。

4

1 回答 1

1

据我所知,这是在 GTK+ 中设计的(尽管我没有参考资料,同样可能是完全错误的)。这个想法是,当您在组合框或菜单中有一个项目列表时,这会强制列表离开屏幕。GTK+ 决定将第一项放在列表顶部和鼠标光标下方。

这意味着您可以通过滚动效果到达底部的项目,GTK+ 通过创建可滚动的空白来表示。

解决这个问题的最简单方法是将项目组织成子菜单,但这可能会再次出现在小屏幕上。

于 2011-12-16T19:51:01.363 回答