在pyGTK中制作GUI时,我经常希望有多个子对象以指定的比率展开。作为一个例子(不是我的特定应用程序,只是一些我觉得很容易绘制的东西),想象一下我正在创建某种照片查看器,在右侧的选项卡中显示EXIF元数据,我希望这些图片保持2:1的比例,因此照片总是占到宽度的2/3,而元数据占宽度的1/3:
{1美元^
在wxWindows中,您将为每个项目分配一个“weight”参数,这样左VBox
将具有weight = 2
,而右侧{
top_level_hbox.pack_start(exif_container, expand=False)
top_level_hbox.pack_start(photo_container, expand=True, fill=True)
但是,我相信这将使exif_container
根据其子窗口小部件的大小保持固定大小,photo_container
将根据需要增长,因此,即使它们最初的比例为2:1,也无法在调整窗口大小后存活下来。在GTK中有没有一种简单的或者至少是标准的方法来实现这种“加权扩展”?在
你可以用表格布局来做这个。也就是说,与其使用hbox,不如创建一个gtk.表格,单行3列。将照片部分连接到前两列,将状态面板附加到第三列,在展开它们时,状态面板应保持所需的2:1比例。在
例如
我同意布赖恩的建议gtk.表格. 要强制表单元格的大小相同,可以在构造函数中指定
homogeneous=True
。在另一种方法是将photo峎u容器和exif_容器打包到gtk.VPaned公司{2{用户可以使用一个子容器}动态地控制两个容器。在
就个人而言,我倾向于使用一个简单的gtk.HBox公司使用一个固定大小的exif帴容器作为接口,尽管我可能会将photo帴容器放入gtk.滚动窗口. 在
相关问题 更多 >
编程相关推荐