Löschen von Widget im QVBoxLayout

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Tobi2707
User
Beiträge: 13
Registriert: Montag 11. Mai 2015, 15:15

Hallo zusammen,
Ich habe in meinem Programm mit QTDesigner ein QWidget erstellt um darin ein Plot zu erzeugen. Das habe ich dann als QVBoxLayout definiert, ein Plotwidget erzeugt und die Daten darin abgespeichert..
Anschließend habe ich mit dem addWidget befehl das PlotWidget im Layout eingesetzt... funktioniert auch alles super...

Nur jetzt möchte ich den Plot überschrieben und wenn ich nochmal den Befehl addWidget aufrufe wird nur untendrunter ein neues erzeugt, ich möchte also zunächst das alte löschen und das neue anzeigen...

Code: Alles auswählen

self.qlayout = QtGui.QVBoxLayout()
self.qwidget.setLayout(self.floraEuler)
self.plotWidget = PlotWidget()
self.plotWidget.plot(self.time, self.dataX)
self.qlayout.addWidget(self.plotWidget)
Ich habe es auch schon mit self.qlayout.removeWidget(self.plotWidget) versucht, leider ohne Erfolg...
ich hoffe ihr könnt mir helfen...

LG Tobi
Benutzeravatar
Madmartigan
User
Beiträge: 200
Registriert: Donnerstag 18. Juli 2013, 07:59
Wohnort: Berlin

Warum willst du denn das Widget ersetzen? Wenn du nur einen neuen Plot anzeigen willst, reichte es doch, den Datensatz zu ändern ...

Wenn du das Widget allerdings wirklich in den Orkus schicken willst, dann ist das Entfernen des Widgets aus dem Layout nicht genügend. Wirklich "weg" ist es erst, wenn es kein Parent mehr besitzt oder du es hart auf None setzt.
Antworten