Zum löschen, entfernen von widgets und layouts in Qt 4

(Ich benutze Qt 4.7, Windows 7, 64bit).

Erstellte ich eine benutzerdefinierte Tabelle. Jede Zeile ist ein horizontales layout mit widgets.
Die Zeilen sind gehalten, in einem QList für den einfachen Zugriff und die Kinder auch. Die Zeilen werden auch Hinzugefügt, die innerhalb des übergeordneten widgets.

Wenn ich die Größe der parent-widget, berechne ich die neuen Größen, alles löschen, neu erstellen und wieder.

Mein problem ist, dass ich nicht wollen, zu löschen, widget. Nur, wenn ich den Tisch abräumen, ich mache es.

Da habe ich die widgets in ein QList und innerhalb des parent-layouts, Wie kann ich entfernen Sie alle widgets in jeder Zeile, löschen Sie alle layouts, und klicken Sie dann fügen Sie diese in Ihre neue layouts?

Wenn ich das Tue: takeAt(0) für jedes element in jedem layout habe ich ein QLayoutItem mit einem widget drinnen... Wie kann ich löschen die layoutItem löschen, ohne das widget?.... Wie kann ich das widget entfernen ohne es zu töten, egal ob es die Eltern oder das Kind? Denn es gibt viele Methoden für das löschen von: removeItem, removeWidget... in einem layout, aber nicht takeWidget... nur takeAt() und es gibt eine Qlayoutitem.

Versuchte ich mehrere Möglichkeiten, aber ich sehe immer noch die widgets-egal, was Ihnen passiert ist.

Fragen dazu:

  • Wann wird ein widget gelöscht? Wenn ich takeWidget(index) aus einem layout, wird es gelöscht einiger Zeit von selbst? passiert es, wenn ich einen Zeiger darauf in einer anderen Liste?
  • removeAt(index) tut, führen die delete-Methode der widget?

InformationsquelleAutor darkgaze | 2013-07-17

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.