C语言 GtkTreeView:显示所有列



如何在应用程序启动时显示我的树视图的所有列?我的树视图有多个列:

gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INT, G_TYPE_INT);

但是当我运行我的应用程序,我只看到前两列(我猜包装我的窗口有最小的大小),所以我不得不滚动看到其余的列。我的问题是:我怎么能告诉我的窗口调整自己的大小,以确保所有列的树视图是可见的?

Update1:使用 gtk_widget_get_allocation 没有效果,仍然需要滚动树视图来查看其余的列

GtkAllocation* alloc = g_new (GtkAllocation, 1);
gtk_widget_get_allocation (pAD->treeview, alloc);
gtk_window_set_size_request (GTK_WINDOW (pAD->parent), alloc->width, alloc->height);
g_free (alloc);

您没有提到您使用的是哪个版本的GTK,但是如果您碰巧使用的是GTK3,那么您可能会使用"分配"one_answers"分配"的组合。对象和"gtk_window_set_default_size;函数。例如,您的程序可以包含以下附加代码:

GtkAllocation* alloc = g_new(GtkAllocation, 1);
/* your program code prior to displaying the window */
gtk_widget_get_allocation(list, alloc);  /* List name "list" for this example */
gtk_window_set_default_size(GTK_WINDOW(window), alloc->width, alloc->height);

看看这是否能解决你的问题。

致意。

相关内容

  • 没有找到相关文章

最新更新