pyqt5 鼠标点击label画点并得到点坐标
时间: 2023-08-29 14:06:56 浏览: 304
好的,这个问题属于技术问题,我可以回答。您可以使用QLabel的mousePressEvent方法来捕捉鼠标点击事件,然后通过event.pos()方法来获取点击点的坐标。以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QLabel, QApplication
from PyQt5.QtGui import QPainter, QColor
from PyQt5.QtCore import Qt
import sys
class MyLabel(QLabel):
def __init__(self):
super().__init__()
self.x = None
self.y = None
def mousePressEvent(self, event):
self.x = event.pos().x()
self.y = event.pos().y()
self.update()
def paintEvent(self, event):
if self.x is not None and self.y is not None:
painter = QPainter(self)
painter.setPen(QColor(255, 0, 0))
painter.drawPoint(self.x, self.y)
if __name__ == '__main__':
app = QApplication(sys.argv)
label = MyLabel()
label.setText('Click me')
label.setAlignment(Qt.AlignCenter)
label.show()
sys.exit(app.exec_())
```
当您点击标签时,程序将在标签上绘制一个红点,并将其坐标存储在MyLabel类中的x和y变量中。您可以在程序中使用这些变量来做任何您想要的事情。
阅读全文