load.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from PyQt5.QtCore import QObject, QEvent, Qt
  2. from PyQt5.QtWidgets import QToolBar
  3. from qgis.utils import iface
  4. def on_initialization_completed():
  5. print("QGIS 初始化完成!")
  6. iface.mainWindow().setWindowTitle("无标题工程 - 四维数码")
  7. main_window = iface.mainWindow()
  8. main_window.findChild(QToolBar, 'ProcessingAlgorithms').setVisible(0)
  9. # 获取所有动作
  10. # all_actions = iface.allActions()
  11. #
  12. # # 遍历所有动作并连接触发信号
  13. # for action in all_actions:
  14. # action.triggered.connect(on_action_triggered)
  15. print("注册事件")
  16. # 创建事件过滤器实例
  17. event_filter = ClickEventFilter(main_window)
  18. # 安装事件过滤器到地图画布
  19. main_window.installEventFilter(event_filter)
  20. class ClickEventFilter(QObject):
  21. def __init__(self, parent=None):
  22. super().__init__(parent)
  23. def eventFilter(self, obj, event):
  24. print("event")
  25. if event.type() == QEvent.MouseButtonPress:
  26. if event.button() == Qt.LeftButton:
  27. print("左键点击事件")
  28. elif event.button() == Qt.RightButton:
  29. print("右键点击事件")
  30. elif event.button() == Qt.MiddleButton:
  31. print("中键点击事件")
  32. return True # 如果你返回True,则事件被过滤掉,不再传递给其他组件
  33. return super().eventFilter(obj, event)
  34. # 连接信号到槽函数
  35. iface.initializationCompleted.connect(on_initialization_completed)