2016-08-02 22 views
0

Ich habe verschiedene Unterelemente in einer GtkBox, das erste Element ist immer ein GtkLabel, das die Zeilennummer zeigen soll. (Jedes Element der GtkBox zeigt eine Zeile einer Datei an)Share widget-width über verschiedene Widgets in gtk3 über css

Jetzt möchte ich sicherstellen, dass die Breite des GtkLabel immer die maximal verwendete Breite über alle GtkLabel's in der GtkBox ist. Ich habe das bereits in C-Code implementiert, aber ich frage mich, ob es auch möglich ist, dies mit CSS zu tun ... wahrscheinlich wäre das eleganter.

Für gtkBoxes ist das css-Attribut "min-width" verfügbar ... aber ich möchte keinen festen Wert setzen, sondern die maximale Breite aller Objekte, die in der css-Klasse liegen.

Ich habe keine Ahnung, wie/wenn das möglich ist. Gibt es eine Möglichkeit, das in CSS auszudrücken?

Antwort

1

Nein, Sie können dieses Verhalten nicht in CSS definieren.

Sie sollten stattdessen einen GtkSizeGroup mit einem GTK_SIZE_GROUP_HORIZONTAL Modus verwenden; Sie können auch Größengruppen innerhalb Ihrer GtkBuilder XML-Dateien definieren, wenn Sie diese Beziehung im Quellcode vermeiden möchten.

+0

Ok, danke, das Größen-Gruppen-Feature klingt vielversprechend! Ich werde es versuchen ... Ich denke, ich sah irgendwo in der Lichtung eine Einstellung dafür. – Alex

+0

Funktioniert wirklich nett, nur 2 Zeilen Code statt 20 vorher. Ich kann 'GtkSizeGroup' nicht in Glade verwenden, da ich die zugehörigen Widgets dynamisch erstelle, aber das ist kein Problem. – Alex