qt, layout "säubern"
-
Kann mir jemand sagen, wie man bei qt aus einem layout bestimmte sachen rausbekommt? Gibt es da irgendeine Funktion von dem Layout?
-
Was spricht gegen delete ?
-
Ups, ich habe vergessen dass es sich bei dem was ich rausbekommen will um einen mit new angeforderten Zeiger QVBoxLayout** auf ein mit new angefordertes QVBoxLayout* handelt.
hellihjb schrieb:
Was spricht gegen delete ?
Es verschwindet nicht aus dem Layout...
-
eventuell würde auch ein Zeiger QVBoxLayout* auf ein mit new angefordertes QVBoxLayout* reichen...
Aber es verschwindet eben nicht wenn ich es delete oder mit removeItem, ...PS: gibt es eine Möglichkeit ein QVBoxLayout zu kopieren?
also:QVBoxLayout a; QVBoxLayout b; //mach irgendwas a=b
-
Wie sieht Dein Ist-Zustand aus und was willst Du erreichen?
-
hellihjb schrieb:
Wie sieht Dein Ist-Zustand aus und was willst Du erreichen?
Ist-Zustand
sry nie gehört.
Ich habe ein Layout mit bestimten Widgets von einer Funktion einer anderen Klasse bekommen und einen Zeiger auf dieses Layout erstellt.
Dann habe ich das Layout in ein anderes Layout eingefügt, welches in einem Fenster auf dem Bildschirm zu sehen ist *g*.
Jetzt möchte ich dass das erste Layout nicht mehr in dem Layout, das auf dem Fenster auf dem Bildschirm zu sehen ist, angezeigt wird.
-
hat niemand ne Idee?
-
Ich hab gerade mal in der Qt Doku nachgeschaut und bin auf QLayout::removeWidget() gestoßen. Eventuell bringt das den gewünschten Erfolg...
-
Tobias W schrieb:
Ich hab gerade mal in der Qt Doku nachgeschaut und bin auf QLayout::removeWidget() gestoßen. Eventuell bringt das den gewünschten Erfolg...
qtqtqt schrieb:
[...]new angeforderten Zeiger QVBoxLayout** auf ein mit new angefordertes QVBoxLayout* [...]
QWidget!=QLayout...
aber danke für die Hilfe
-
Was Du da vor hast ergibt keinen Sinn.
Wenn Du lediglich das Parent-Layout aus dem Objektbaum entfernst, existieren die Widgets weiter, koennen vom Layout-Manager aber nicht mehr erreicht werden:it is the caller's responsibility to give the widget a reasonable geometry or to put the widget back into a layout
Wenn die Widgets erhalten bleiben aber nicht mehr sichtbar sein sollen, ruf hide auf, sonst loesch sie.