ich habe eine Frage bezüglich QDockWidgets:
Ich habe eine Anwendung in der Projekte angelegt werden können, die mehrere Diagramme in Form von QDockWidgets in einem QMainWindow darstellen. Beim Erstellen / Laden eines Projektes geschieht folgendes. DockPlot ist dabei eine eigene Klasse die von QDockWidget erbt und Diagramme darstellt und self ist die Klasse die von QMainWindow erbt.:
Code: Alles auswählen
for diagram in PM.current_project.diagrams:
self.dock_plot[diagram.name] = DockPlot(self, diagram)
self.dock_plot[diagram.name].setWindowTitle(diagram.name)
self.addDockWidget(0x4, self.dock_plot[diagram.name])
Code: Alles auswählen
for key in self.dock_plot:
self.removeDockWidget(self.dock_plot[key])
self.dock_plot[key].close()
self.dock_plot[key].destroy()
Code: Alles auswählen
state = self.saveState()
geo_file = open('geometry', 'wb')
geo_file.write(state)
geo_file.close()
Und zu guter Letzt das Laden eines Projektes:
Code: Alles auswählen
for diagram in PM.current_project.diagrams:
self.dock_plot[diagram.name] = DockPlot(self, diagram)
self.dock_plot[diagram.name].setWindowTitle(diagram.name)
self.addDockWidget(0x4, self.dock_plot[diagram.name])
geo_file = open(os.path.join(PM.current_projekt.workspace, 'geometry'), 'rb')
state = geo_file.read()
geo_file.close()
self.restoreState(state)
Auch dies funktioniert beim Schließen eines Projektes nicht:
Code: Alles auswählen
for dockwidget in self.findChildren(QtGui.QDockWidget):
self.removeDockWidget(dockwidget)
dockwidget.close()
dockwidget.destroy()
Hat jemand zufälligerweise schonmal ein ähnliches Problem gehabt, oder weiss wo ich einen Fehler habe? Hoffe es kann jemand helfen. Sollten noch weitere Informationen von Nutzen sein, dann lasst es mich wissen.
Gruß,
Rekrul
- Python v. 2.6.6
- PyQt4 v. 4.7.7