Hallo,
ich habe ein Widget dem insgesamt ein QVBoxLayout zugrundeliegt. Diesem werden mehrere QHBoxLayouts hinzugefügt (über ->addLayout).
Eines dieser QHBoxLayouts besteht aus mehreren Pushbuttons, die über addWidget dem QHBoxLayout hinzugefügt werden.
Nun habe ich einen Button, der zwischen verschiedenen Ansichten hin und herwechseln soll. Dabei soll sich jedesmal dieses eine QHBoxLayout ändern (und das restliche Layout soll gleich bleiben). Das heißt ich möchte jedesmal ein neues QHBoxLayout erzeugen, diesem wieder Buttons zuordnen und dafür das alte QHBoxLayout löschen, und das neue dem "Oberlayout" hinzufügen. Gibt es eine Möglichkeit, ein über addLayout hinzugefügtes Layout, wieder zu entfernen? Oder kann ich irgendwie machen: Lösche alle Wdgets aus dem QHBoxLayout und füge die neuen hinzu?
Danke
[gelöst] Layout verändern bei Druck auf Button
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Könnte ich vielleicht das eine QHBoxLayout immer wieder überschreiben?
Im Moment erzeuge ich das LAyout immer mit
QHBoxLayout* hlayout=new QHBoxLayout();
und füge jedesmal die PushButtons hinzu.
Aber die "alten" Layouts werden so ja trotzdem beibehalten.
Könnte man das hlayout irgendwie überschreiben, ohne jedesmal ein neues mit new zu erzeugen?
Im Moment erzeuge ich das LAyout immer mit
QHBoxLayout* hlayout=new QHBoxLayout();
und füge jedesmal die PushButtons hinzu.
Aber die "alten" Layouts werden so ja trotzdem beibehalten.
Könnte man das hlayout irgendwie überschreiben, ohne jedesmal ein neues mit new zu erzeugen?
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Mh, also keine Ahnung, aber wenn du items mit addWidget hinzufügst, kannst du die mit remove wieder entfernen. Und um das Problem zu lösen, das du später vielleicht nicht mehr weißt, welche Knöpfe enthalten sind einfach eine PtrList oder ähnliches verwenden und dann in einer for Schleife einfach item für item entfernen. Dann ist es leer und jetzt ist es in dem gleichen Zustand, wie wenn es neu wäre, oder?