c - 带视口(viewport)的滚动窗口的垂直尺寸没有最小但最大

标签 c gtk

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

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);

我通常也会为这个对话框使用一个带有文本的标签,但由于它对这个问题并不重要,所以我删除了文本。

最佳答案

我现在已经看到即使

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

实际上并不是我所要求的自动收缩,它足以满足我的目的。所以我要用这个。

关于c - 带视口(viewport)的滚动窗口的垂直尺寸没有最小但最大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14487511/

相关文章:

c - 从 BST 返回当前节点

c - C 中的奇怪运行时错误?

mono - 如何在 GTK+/GTK 中切换全屏模式#

python - 为什么方法 set_color_foreground 及其同伴 set_color_XXX 在 Vte(Python - Gtk3)中不起作用?

windows - 如何在 gtk 应用程序中隐藏控制台

c - 为什么没有按预期调用 printf?

c - 在现代内核中查找不带符号的 sys_call_table 的地址

c - 通过 %esp 进行程序集堆栈管理

gtk - 如何将自定义函数连接到 GTK 按钮的单击操作?

python - GTK3 python 中的线程