[gelöst] Qt: Abstand zwischen QLabels in einem "eingebetteten" GridLayout ändern
-
Hallo,
ich habe wieder ein Design-Problem:
Ich habe ein QGridLayout als Widget-Layout (MainLayout). In diesem GridLayout ist ein weiteres GridLayout (LabelLayout) mit mehreren QLabels an Position MainLayout(1,1) eingebettet und ein TabWidget an Position MainLayout(1,2).
Es gibt noch weitere Widgets in dem MainLayout, daher nutze ich kein QHBoxLayout.Jetzt ist das Problem, dass der vertikale Abstand zwischen den QLabels in LabelLayout aufgrund des TabWidgets sehr groß ist, ich möchte die QLabels aber als Liste direkt untereinander stehen haben.
Ich habe es bereits mit LabelLayout->setSpacing(0) und LabelLayout->setVerticalSpacing(0) probiert, leider ohne Erfolg.
Habe schon gegoogled, aber nicht wirklich was gefunden.
Könnt ihr mir da einen Tipp geben, wie es klappen kann? Muss ich da einen eigenen Layout-Manager schreiben?Bin noch recht neu in Qt, dass ist meine erste GUI mit Qt...
Design-Beispiel :
Aktuell:----------------------------- | QLabel QLabel | | | | | | | | | | | | QLabel QLabel | | | | | TabWidget | | | | | | | QLabel QLabel | | | | | | | -----------------------------
Gewünscht:
----------------------------- | QLabel QLabel | | | | QLabel QLabel | | | | QLabel QLabel | | | | | | | | | TabWidget | | | | | | | | | | | | | | -----------------------------
(Musste das "Design" als Code machen, sonst werden die Leerzeichen zwischen den | nicht angezeigt )
Viele Grüße
Cherup
-
Du könntest nen (H/V)Spacer mit rein packen, welcher den restlichen Freiraum "belegt"
Dann sollten die Lables zusammenrutschen
-
Ok,
das bedeutet, ich muss die GridBox in 2 VBoxLayouts und ein HBoxLayout umbauen... In die GridBox bekomm ich das SpacerItem nicht rein...
oder meintest du einen anderen Spacer?
-
Wieso, mit addItem müsstest du ein QSpacerItem einfügen können.
-
Jup, du hast recht, es geht.
Gestern wollte es nicht gehen oder (was wahrscheinlicher ist) ich habe mich zu blöd angestellt Der Compiler hat immer Conversion-Fehler ausgeworfen... nunja, läuft jetzt
Danke für eure Hilfe
Cherup