没有最小值,但带有视口的滚动窗口的最大垂直尺寸

时间:2013-01-23 19:10:51

标签: c gtk

我在对话框中使用带有视口的滚动窗口,它看起来像这样:

Dialog that includes a scrolled window with viewport

我的问题:是否可以将此滚动窗口设置为不仅不超过某个垂直大小,而且如果滚动窗口内显示的文本不占用滚动窗口的整个空间,也会缩小?使用简单的gtk_widget_set_size_request,第一个“不超过”条件效果很好,所以我想知道这是否可以与某种“自动收缩”相结合。

我目前使用的代码是

GtkWidget *scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), label);
gtk_widget_set_size_request (scrolled_window, 570, 125);

我通常也会在此对话框中使用带有文字的标签,但由于这个问题并不重要,所以我删除了该文字。

1 个答案:

答案 0 :(得分:0)

我现在已经看过,即使

gtk_widget_set_size_request (scrolled_window, 570, 
(gtk_widget_get_allocated_height (label) < 125) ? 
gtk_widget_get_allocated_height (label) : 125);

实际上并不是我所要求的意义上的自动收缩,它足以让我的目的足够好。所以我打算用它。