Zeilenhöhen in QGridlayout

Alles rund um die Programmierung mit Qt
Antworten
uha
Beiträge: 21
Registriert: 15. Februar 2006 09:36

Zeilenhöhen in QGridlayout

Beitrag von uha » 25. Juli 2017 14:13

Hallo zusammen,

ich habe folgenden Problem:

in einer QScrollArea steckt ein QSplitter. In diesem Splitter sind 2 Widgets geaddet. Das linke Widget beinhaltet in einem Gridlayout einige QLabels, die vertikal angeornet sind. Das rechte Widget enthält einige QLineEdit, Comboboxen und QTextEdits. Mein Problem ist, dass ich die Labels auf der linken Seite nicht auf Höhe der Objekt auf der rechten Seite bekomme. Ist etwas schwer zu beschreiben, deshalb habe ich eine Grafik drangehängt:

Bild

Der Splitter muss leider sein, da in den Label auch längere Texte stehen können und man diese eben auch verkleinern können muss. Habt ihr eine Idee, wie ich das lösen kann oder habt ihr eventuell einen Vorschlag, wie ich das besser lösen könnte?

Danke und Gruß
uha

Christian81
Beiträge: 7315
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Zeilenhöhen in QGridlayout

Beitrag von Christian81 » 26. Juli 2017 07:41

Da ein Splitter dazwischen ist, bleibt Dir nichts anderes übrig als die Höhen der beiden GridLayouts programmiertechnisch selbst zu synchronisieren. Qt bietet hierfür nichts an soweit ich weiß.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung

uha
Beiträge: 21
Registriert: 15. Februar 2006 09:36

Re: Zeilenhöhen in QGridlayout

Beitrag von uha » 26. Juli 2017 07:58

Danke für die Antwort.

Das habe ich schon befürchtet, leider habe ich keine Idee wie ich das angehen könnte, da in einem Gridlayout leider keinen Höhen für die jeweiligen Zeilen angegeben werden können. Hast du vielleicht eine Idee, wie man das umsetzen kann oder ob es noch eine andere Möglichkeit gibt? Wäre für jeden Tipp sehr dankbar.

Danke und Gruß
uha

Christian81
Beiträge: 7315
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Zeilenhöhen in QGridlayout

Beitrag von Christian81 » 26. Juli 2017 08:12

Dem GridLayout direkt kann man nichts angeben, aber den Widgets im Layout. Ich würde bei einem sizeChange - Event immer die Höhen der Widgets von rechts auf die prefered size links anwenden. Allerdings darf es dort nicht die minimum size sein da man es sonst nicht mehr verkleinern kann. Müsste ich auch ein wenig experimentieren.
Vielleicht kann man rechts auch SpacerItems hinzufügen und deren geometry jeweils setzen... falls Du was findest wäre ich auch dran interessiert :)
KDE hatte mal ein besonderes Layout das so etwas in der Art gemacht hat, habs gerade gefunden wenn ich mich nicht irre: https://api.kde.org/frameworks/kwidgets ... sizer.html
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung

uha
Beiträge: 21
Registriert: 15. Februar 2006 09:36

Re: Zeilenhöhen in QGridlayout

Beitrag von uha » 26. Juli 2017 08:36

Ohje, da bin ich einige Stunden in die falsche Richtung gelaufen und wollte immer das Layout anpassen. Dabei liegt die Lösung so nahe! Klar, den Labels bei Größenänderungen ein setFixedHeight mit der Höhe der rechten Seite pro Zeile verpassen und schon sieht es gut aus. Noch ein alignmentTop für den Text und dann passt es.

Tausend Dank!!!! Manchmal sieht man den Wald vor lauter Bäumen nicht mehr.

Gruß
uha

Antworten