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 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序