python xxxyyyxxxyyy 2022-01-13 09:35 采纳率: 40%
浏览 59
已结题

PyQt5 QPainter 中可以设置画笔速度吗?

最近写程序用 pyqt5 的 QPainter 类画图,画笔画图的速度很快,但我需要展示出图案画出来的过程,有什么办法可以减慢画图的速度吗?

# 一个示例
def paintEvent(self, event):
      painter = QPainter(self)
      painter.setRenderHint(QPainter.Antialiasing)
      painter.setRenderHint(QPainter.TextAntialiasing)
      #设置画笔
      pen = QPen()
      pen.setWidth(2)   #线宽
      pen.setColor(Qt.black)   #划线颜色
      pen.setStyle(Qt.SolidLine) #线的类型
      pen.setCapStyle(Qt.RoundCap)   #线端点样式
      pen.setJoinStyle(Qt.RoundJoin) #线的连接点样式
      painter.setPen(pen)
 
      W = self.width()    #绘图区宽度
      H = self.height()   #绘图区高度

      points = [QPoint(int(5 * W / 12), int(H / 4)),
            QPoint(int(3 * W / 4), int(5 * H / 12)),
            QPoint(int(5 * W / 12), int(3 * H / 4)),
            QPoint(int(2 * W / 4), int(5 * H / 12)) ]
      painter.drawPolyline(QPolygon(points))
      painter.drawPolygon(QPolygon(points))

img

  • 写回答

1条回答 默认 最新

  • 关注

    qt绘图的速度就是秒绘制。那你需要过程只能是绘制好一条线之后,加个延时函数。然后再绘制另外一条线,就不要使用drawPolyline,改为使用drawline

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月21日
  • 已采纳回答 1月13日
  • 修改了问题 1月13日
  • 创建了问题 1月13日

悬赏问题

  • ¥15 QT6颜色选择对话框显示不完整
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下