Seite 1 von 1

Widgets mit Layout bewegen

Verfasst: 26. Juni 2019 21:45
von SvenA
Hallo!

Ich habe folgendes Problem:

Ich habe diverse Formulare, welche ich mit dem Designer im QtCreator erzeugt habe.
Nun will ich unter bestimmten Bedingungen weitere Felder hinzufügen und der Übersichtlichkeit
das gesamte Formular in eine Seite eines TabWidgets verschieben.

Wie kann ich dies bewerkstelligen? Ich habe schon diverse Versuche gemacht und habe entweder
das Problem, daß ich das oberste Layout des Formulars nicht verschieben kann oder, wenn ich
die Elemente einzeln verschiebe (mit findChildren/setParent), dass das Layout völlig zerstört ist.

Hat irgendjemand eine Idee?

Gruß
Sven

Re: Widgets mit Layout bewegen

Verfasst: 27. Juni 2019 20:29
von dirkski
SvenA hat geschrieben:
26. Juni 2019 21:45
Hallo!
[...]
Wie kann ich dies bewerkstelligen? Ich habe schon diverse Versuche gemacht und habe entweder
das Problem, daß ich das oberste Layout des Formulars nicht verschieben kann oder, wenn ich
die Elemente einzeln verschiebe (mit findChildren/setParent), dass das Layout völlig zerstört ist.
Hallo auch,
wenn ich es richtig verstehe musst Du das oberste Layout schon vorher in ein QWidget als Container stecken
und dann das gesamte Widget mit setParent verschieben. Und mit show() wieder sichtbar machen.

hth

Re: Widgets mit Layout bewegen

Verfasst: 27. Juni 2019 23:18
von SvenA
Hallo!

Ich habe das dann mit viel experimentieren noch geschafft!
Der Weg über "setParent()" hat nicht geklappt.

Der Trick war, anstatt zu versuchen das Layout mit allen Elementen aus
dem QWidget herauszulösen und später wieder einzusetzen, einfach das
Layout einem neuen QWidget mit setLayout() zuzuweisen. Dadurch wird
das Layout aus dem alten QWidget herausgelöst und dem neuen QWidget
zugewiesen ohne daß dies irgendwie dabei verändert wird.

Dann konnte ich das neue QWidget mit allen meinen (Unter)elementen
einfach beliebig verschieben.

Gruß
Sven