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

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条回答 默认 最新

  • 加油吧,小杜 2022-01-13 09:46
    关注

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

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题