37,722
社区成员
发帖
与我相关
我的任务
分享
class MyLabel(QLabel):
x0 = 0
y0 = 0
x1 = 0
y1 = 0
flag = False
#鼠标点击事件
def mousePressEvent(self,event):
if event.buttons () == QtCore.Qt.LeftButton:
self.flag = True
self.x0 = event.x()
self.y0 = event.y()
x_start = self.x0
y_start = self.y0
print(x_start)
print(y_start)
#鼠标释放事件
def mouseReleaseEvent(self,event):
self.flag = False
print(x_end)
print(y_end)
#鼠标移动事件
def mouseMoveEvent(self,event):
global x_end
global y_end
if event.buttons () == QtCore.Qt.LeftButton:
if self.flag:
self.x1 = event.x()
self.y1 = event.y()
self.update()
x_end = self.x1
y_end = self.y1
#绘制事件
def paintEvent(self, event):
super().paintEvent(event)
rect =QRect(self.x0, self.y0, abs(self.x1-self.x0), abs(self.y1-self.y0))
painter = QPainter(self)
painter.setPen(QPen(Qt.red,2,Qt.SolidLine))
painter.drawRect(rect)