1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 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)
|