from qgis.PyQt.QtCore import Qt from qgis.PyQt.QtWidgets import QDockWidget from qgis.utils import iface class DockManager: default_area = Qt.DockWidgetArea.RightDockWidgetArea @classmethod def show(cls, dock_widget, area=None): area = area or cls.default_area # Bestehende Plugin-Docks mit Präfix schließen for widget in iface.mainWindow().findChildren(QDockWidget): if widget is not dock_widget and widget.objectName().startswith("sn_dock_"): iface.removeDockWidget(widget) widget.deleteLater() # Neues Dock anzeigen iface.addDockWidget(area, dock_widget) dock_widget.show()