pyqt5用qt designer设计ui文件得到主界面后,怎么样写代码在主界面ui文件定义的Qlabel中用鼠标点击得到点坐标并画各种几何图形
时间: 2024-04-30 08:22:11 浏览: 87
PyQt5图片鼠标点击标点 QLabel实现在图片上标注点并获得坐标
5星 · 资源好评率100%
您好!关于您的问题,您可以在主界面ui文件定义的Qlabel中使用mousePressEvent()函数来获取鼠标点击事件,并获取对应的点坐标。然后,您可以使用QPainter来进行各种几何图形的绘制。下面是一个简单的示例代码:
```python
from PyQt5 import QtGui, QtCore, QtWidgets
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.label = QtWidgets.QLabel(self)
self.label.setGeometry(QtCore.QRect(20, 20, 100, 100))
self.label.setStyleSheet("border: 1px solid black;")
def mousePressEvent(self, event):
pos = event.pos()
painter = QtGui.QPainter(self.label.pixmap())
painter.drawEllipse(pos, 10, 10)
painter.end()
self.label.update()
```
在上述代码中,我们重写了MainWindow的mousePressEvent()函数,当用户在Qlabel上点击鼠标时,会触发该函数,并返回对应的鼠标点击事件。我们可以通过event.pos()获取鼠标点击的坐标位置,并使用QPainter进行绘制操作。在本例中,我们绘制了一个椭圆形作为示例。您可以在其中进行各种几何图形的绘制,并根据您的需求进行调整。希望对您有所帮助!
阅读全文