pyqt5 Qlabel被点击后获取点击的坐标
时间: 2024-10-18 20:06:36 浏览: 54
PyQt5点击按钮弹出自定义窗口 创建新窗口
5星 · 资源好评率100%
在PyQt5中,如果你想要让QLabel响应鼠标点击并获取点击位置,可以使用`mousePressEvent()`信号连接到一个槽函数。下面是一个简单的例子:
```python
from PyQt5.QtWidgets import QLabel, QApplication, QWidget
from PyQt5.QtCore import Qt
class ClickableLabel(QWidget):
def __init__(self):
super().__init__()
self.label = QLabel('点击我')
self.label.setMouseTracking(True) # 开启鼠标跟踪,以便获取点击事件的位置
self.label.mousePressEvent = self.handle_click_event
def handle_click_event(self, event):
pos = event.pos() # 获取鼠标点击的屏幕坐标
print(f"点击了位置 ({pos.x()}, {pos.y()})")
if __name__ == "__main__":
app = QApplication([])
widget = ClickableLabel()
widget.show()
app.exec_()
```
在这个示例中,我们创建了一个自定义的`ClickableLabel`类,当用户点击标签时,`handle_click_event`函数会被触发,并打印出点击的坐标。
阅读全文