gpt4 book ai didi

python - 相当于 pyGTK 中的 "weight"参数?

转载 作者:太空宇宙 更新时间:2023-11-03 14:22:20 26 4
gpt4 key购买 nike

在 pyGTK 中制作 GUI 时,我经常希望有多个子对象以指定的比例展开。作为一个例子(不是我的特定应用程序,只是我觉得很容易画的东西),假设我正在创建某种照片查看器,它在右侧的选项卡中显示 EXIF 元数据,我希望这些保持 2: 1 比例,所以照片总是占宽度的 2/3,元数据占宽度的 1/3:

enter image description here

在 wxWindows 中,您将为这些项目中的每一个分配一个“权重”参数,因此左侧的 VBox 将具有 weight = 2 并且右侧的 VBox 将有 weight = 1,然后当您调整窗口大小时,容器将保持其 2:1 的比例。然而,在 GTK+ 中,似乎你所能做的就是选择是否要扩展容器,所以在这种情况下我会使用类似的东西:

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 中是否有一种简单的或至少是标准的方法来进行这种“加权扩展”?

最佳答案

您可以使用表格布局来做到这一点。 IE。而不是使用 hbox,创建一个 gtk.Table,具有单行和 3 列。将照片部分附加到前两列,将状态面板附加到第三列,在展开它们时应保持您想要的 2:1 比例。

例如。

table = gtk.Table(rows=1, columns=3)
table.attach(photo_container, 0, 2, 0, 1) # Span column 0..2
table.attach(exif_container, 2, 3, 0, 1) # Span final column
window.add(table)

关于python - 相当于 pyGTK 中的 "weight"参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com