2

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

4

2 回答 2

2

更好的方法是使用gtk_tree_view_column_set_expand.

于 2016-11-03T18:15:43.293 回答
1

这是一个有 6 列的示例,它假设您使用 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() 没有为我返回确切的宽度,只是一个近似值。

于 2012-12-27T04:13:56.617 回答