GtkTreeView均匀列宽

时间:2012-12-26 18:52:15

标签: c gtk gtktreeview

有没有办法让GtkTreeView中的所有列具有相同的宽度,无论是以编程方式还是使用Glade / GtkBuilder?

2 个答案:

答案 0 :(得分:1)

这是一个包含6列的示例,它假定您对treeview小部件使用gtk_widget_set_size_request。我在这里也完成了对窗口的大小请求,因此树视图宽度等于窗口的宽度,以下对我有用:

gint width = 650;
gtk_widget_set_size_request (window, width, 550);
gtk_widget_set_size_request (treeview, width, -1);
for (gint i = 0; i < 6; i++) {
  gtk_tree_view_column_set_sizing (columns[i], GTK_TREE_VIEW_COLUMN_FIXED);
  gtk_tree_view_column_set_fixed_width (columns[i], width / 6);
}

如果调整窗口大小,则必须再次计算大小,因此需要捕获带有信号的窗口的大小调整事件。

gtk_widget_get_preferred_size()没有为我返回确切的宽度,只是一个近似值。

答案 1 :(得分:0)

更好的方法是使用gtk_tree_view_column_set_expand