Gtk3 Paned Widget默认同质大小

时间:2015-04-19 23:26:43

标签: pygtk gtk3

我希望Paned小部件中我的两个窗格的默认大小等于宽度或相等的高度。

由于没有明显的设置,我怎样才能正确计算这个尺寸?

2 个答案:

答案 0 :(得分:1)

您可以使用get_allocation()获取已修改窗口小部件的总大小,然后将分隔符的位置设置为该值的一半。

根据您想要的UI,您可以执行一次,或在size-allocate信号运行后连接处理程序并继续重新计算,直到用户手动调整它为止。

答案 1 :(得分:1)

我在寻求解决同一问题时遇到了这个问题,这是我在某个站点的示例中找到的方法(解决方案是针对宽度,必要时适应于高度):

hpane = Gtk.HPaned()
# hpane.set_wide_handle(True)
hpane.connect("size-allocate", self.hpane_resize_cb) 

[...]

def hpane_resize_cb(self, widget, allocation):
    if allocation.width != 1:
        hpane_pos = 0.5 * allocation.width
    widget.set_position(int(hpane_pos + .5))

我仍在处理代码,并将添加代码,以便它存储任何用户修改并在调整窗口大小时保持相同的比例。但这足以使其他人着手解决方案。