2

プログラムまたはGlade/GtkBuilderを使用して、GtkTreeViewのすべての列を同じ幅にする方法はありますか?

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 に答える