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

时间:2017-08-28 14:06:35

标签: c gtk2

我试图在GTK + 2中编写一个界面,我找不到办法确保切换按钮和进度条不会尝试填满可用的整个空间

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

interface looking correct

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

stretched button and progress bar

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

我的代码是here。我无法包含我在这里使用的占位符图片,但它只是一个128x128的占位符,可以在需要时轻松替换。

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

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