from qgis.PyQt.QtCore import Qt from qgis.PyQt.QtWidgets import QAction from .resourceDock import ResourceDockWidget from ..icons import icons class ResourceAction(QAction): def __init__( self, iface, parent=None, ): super().__init__(parent) self.parent = parent self.iface = iface self.setIcon(icons["resource"]) self.setText("资源目录") self.resourcedockwidget = ResourceDockWidget(self.iface) self.resourcedockwidget.visibilityChanged.connect(self.onDockVisibilityChanged) self.iface.addDockWidget(Qt.LeftDockWidgetArea, self.resourcedockwidget) self.resourcedockwidget.hide() self.setCheckable(True) self.triggered.connect(self.openFTP) def openFTP(self): if self.resourcedockwidget.isHidden(): self.resourcedockwidget.show() else: self.resourcedockwidget.hide() def onDockVisibilityChanged(self, is_visible): if not is_visible: self.setChecked(False) else: self.setChecked(True) def unload(self): self.iface.removeDockWidget(self.resourcedockwidget)