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): if area is None: area = cls.default_area # Alle vorhandenen Plugin-Docks schließen for widget in iface.mainWindow().findChildren(QDockWidget): if widget != dock_widget and widget.objectName().startswith("sn_dock_"): iface.removeDockWidget(widget) widget.deleteLater() # Neues Dock anzeigen iface.addDockWidget(area, dock_widget) dock_widget.show()