2 Stimmen

GtkTreeView homogene Spaltenbreite

Gibt es eine Möglichkeit, alle Spalten in einem GtkTreeView entweder programmgesteuert oder mit Glade/GtkBuilder die gleiche Breite zu haben?

2voto

antoyo Punkte 9793

Ein besserer Weg ist es, gtk_tree_view_column_set_expand zu verwenden.

1voto

GTK 1.2.6 fanboy Punkte 839

Dies ist ein Beispiel mit 6 Spalten. Es wird davon ausgegangen, dass Sie gtk_widget_set_size_request für das Treeview-Widget verwenden. Hier habe ich auch eine Größenanforderung für das Fenster gemacht, sodass die Breite des Treeviews der des Fensters entspricht. Folgendes funktioniert für mich:

gint breite = 650;
gtk_widget_set_size_request (Fenster, breite, 550);
gtk_widget_set_size_request (Treeview, breite, -1);
for (gint i = 0; i < 6; i++) {
  gtk_tree_view_column_set_sizing (Spalten[i], GTK_TREE_VIEW_COLUMN_FIXED);
  gtk_tree_view_column_set_fixed_width (Spalten[i], breite / 6);
}

Wenn Sie das Fenster neu dimensionieren, müssen Sie die Größen erneut berechnen. Sie müssen also ein Größenänderungsereignis eines Fensters mit einem Signal erfassen.

gtk_widget_get_preferred_size() hat mir nicht die genaue Breite zurückgegeben, nur einen ungefähren Wert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X