机缘
- 实战项目中的经验分享
- 日常学习过程中的记录
- 通过文章进行技术交流
收获
- 获得了15000粉丝的关注
- 获得了较多正向的反馈,如赞、评论、阅读量等,但是我更希望有更多的评论,可以发现问题并解决问题,再让后来者看到评论区相同的问题也能够解决。
日常
- 创作在生活空闲时进行
成就
提示:你过去写得最好的一段代码是什么? 请用代码块贴出来
例如:
一个pyqt5的区域框选并计算的思路,下面是部分代码
def paintEvent(self, event):super().paintEvent(event)if self.current_image:painter = QPainter(self)pixmap = QPixmap.fromImage(self.current_image)target_rect = self.rect()painter.drawPixmap(target_rect, pixmap)if self.start_point and self.end_point:painter.setPen(QPen(Qt.red, 2, Qt.SolidLine))rect = QRect(self.start_point, self.end_point)painter.drawRect(rect)
def mousePressEvent(self, event):if event.button() == Qt.LeftButton:self.start_point = event.pos()self.end_point = Noneself.drawing = Trueself.long_press_timer.start(self.long_press_threshold)elif event.button() == Qt.RightButton:self.start_point = Noneself.end_point = Noneself.drawing = Falseself.repaint()
def mouseMoveEvent(self, event):if self.drawing and self.start_point:move_distance = (event.pos() - self.start_point).manhattanLength()if move_distance > 5:self.end_point = event.pos()layout_rect = self.contentsRect()if layout_rect.contains(self.end_point):self.repaint()
def mouseReleaseEvent(self, event):if event.button() == Qt.LeftButton:self.drawing = Falseif not self.start_point == self.end_point:self.end_point = event.pos()self.repaint()def set_image(self, image_data):if isinstance(image_data, QImage):self.current_image = image_dataelif isinstance(image_data, np.ndarray):if image_data.dtype != np.uint8:image_data = image_data.astype(np.uint8)height, width, channel = image_data.shapebytes_per_line = 3 * widthself.current_image = QImage(image_data.data, width, height, bytes_per_line, QImage.Format_BGR888)else:print("Unsupported image format.")returnself.repaint()
憧憬
希望我的博客能帮助到更多的人,带领小白入门上手,分享一些简单又有帮助的东西。
Tips
- 您发布的文章将会展示至 里程碑专区 ,您也可以在 专区 内查看其他创作者的纪念日文章
- 优质的纪念文章将会获得神秘打赏哦