Wie ändere ich programmgesteuert die Reihenfolge der Widgets in einem Layout?

Ich habe eineQVBoxLayout Das enthält einige benutzerdefinierte Widgets, die selbst hauptsächlich aus einer Beschriftung und zwei Schaltflächen bestehen. Man kann fast sozusagen von einem selbstgemachten Tisch sprechen. Ich weiß, dass es fertige Tabellen-Widgets gibt, aber ich möchte meine eigenen verwenden.

Was ich erreichen möchte, ist Folgendes: Wenn ich in einem der Widgets auf die Schaltfläche "Nach oben" klicke, sollte sie nach oben oder anders ausgedrückt verschoben werden: Sie sollte ihre aktuelle Position / ihren aktuellen Index innerhalb des übergeordneten Elements ändernQVBoxLayout auf eine Weise, dass es sich mit jedem Klick um einen Schritt nach oben (oder unten) bewegt. Ist das möglich? Wie kann ich das erreichen? Ich benötige dies als benutzerfreundliche Methode, um die Reihenfolge der Elemente in diesem Layout festzulegen.

Ich begann mit dem Versuch, das übergeordnete Layout aus meinem Widget heraus abzurufen:

QVBoxLayout* myLayout = qobject_cast<QVBoxLayout*>(this->parentWidget());

Das scheint zu funktionieren, aber wie geht es weiter? Danke für Ihre Hilfe!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage