from PyQt5.QtCore import QObject, QEvent, Qt from PyQt5.QtWidgets import QToolBar from qgis.utils import iface def on_initialization_completed(): print("QGIS 初始化完成!") iface.mainWindow().setWindowTitle("无标题工程 - 四维数码") main_window = iface.mainWindow() main_window.findChild(QToolBar, 'ProcessingAlgorithms').setVisible(0) # 获取所有动作 # all_actions = iface.allActions() # # # 遍历所有动作并连接触发信号 # for action in all_actions: # action.triggered.connect(on_action_triggered) print("注册事件") # 创建事件过滤器实例 event_filter = ClickEventFilter(main_window) # 安装事件过滤器到地图画布 main_window.installEventFilter(event_filter) class ClickEventFilter(QObject): def __init__(self, parent=None): super().__init__(parent) def eventFilter(self, obj, event): print("event") if event.type() == QEvent.MouseButtonPress: if event.button() == Qt.LeftButton: print("左键点击事件") elif event.button() == Qt.RightButton: print("右键点击事件") elif event.button() == Qt.MiddleButton: print("中键点击事件") return True # 如果你返回True,则事件被过滤掉,不再传递给其他组件 return super().eventFilter(obj, event) # 连接信号到槽函数 iface.initializationCompleted.connect(on_initialization_completed)