防止 gtk2 切换按钮和进度条垂直拉伸

Prevent gtk2 toggle buttons and progress bars from stretching vertically

我正在尝试用 GTK+2 编写一个界面,但我找不到一种方法来确保切换按钮和进度条不会试图填满它们可用的整个 space .

我的界面有一张图片,另一边是一堆进度条和切换按钮。如果它们的数量足以使整个 vbox 高于图片本身,则一切都很好:

然而,当它们不够时,它们会被垂直拉伸,这使它们看起来不对:

我找不到任何方法来确保这不会发生,我在文档中发现的与设置这些小部件的高度相关的唯一一件事就是设置它们的最小高度。我正在寻找一种方法来确保这些小部件不会试图占用所有它们可以占用的空间。space。

我的密码是here。我无法包含我在此处使用的占位符图像,但它只是一个 128x128 占位符,可以根据需要轻松替换。

当您为单个 CPU 创建小部件时,您将其添加到父容器:

gtk_container_add(GTK_CONTAINER (vbox), current->box);

容器函数是通用的,用于多种类型的小部件来容纳子部件,但不允许进行特定调整。

在框中,您可以指定是否应将可用 space 添加到子窗口小部件以及它应如何显示。 要使用它,您需要将此行更改为:

gtk_box_pack_start(GTK_BOX(vbox), current->box, FALSE, FALSE, <borderline>);

这应该可以防止小部件被放大。