Pyqt5:Qpainter绘制基础图形(一)

入手pyqt没有几天,想把pyqt系类基础挨个实践一遍。
这一节是pyqt5的QPainter绘制基础图形。
开发环境:

   系统:Windows 64位
   IDEVS2017
   Python:python3.6
   pyqt:pyqt5.10.1

一些注意事项:
QPainter基础流程为:

    def paintEvent(self, QPaintEvent):
            painter = QPainter(self)
            painter.setPen(QColor(166,66,250))          
            painter.begin(self)
            painter.draw-----#绘制函数
            painter.end()   

界面刷新为:

self.update()

画笔设置:

painter.setPen(QColor(166,66,250))  

画点:

painter.drawPoint(100,100)

画线:

painter.drawLine(100,100,200,200)

画圆:

painter.drawEllipse(150,150,100,100)

画矩形:

painter.drawRect(100,100,100,150)

画文本:

painter.drawText(120,120,"文字")

画多边形:

                polygon = QPolygon()
                polygon.setPoints(5,100,100,140,130,160,160,170,140,140,178)
                painter.drawPolygon(polygon)

画扇形:

painter.drawPie(100,100,200,200,0*16,120*16)

画弧形:

painter.drawArc(100,100,200,200,30*16,120*16)

画路径:

                path = QPainterPath()
                path.addRect(100,100,100,100)
                path.addEllipse(150,150,60,80)
                painter.setBrush(Qt.blue)
                #path.setFillRule(Qt.WindingFill) #非零填充规则
                path.setFillRule(Qt.OddEvenFill) #奇偶填充规则
                painter.drawPath(path)

下边是UI界面:
UI界面
项目思路为:
点击对应按钮绘制特定图形。
下边为源码:
文件源码

  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
PyQt5中的QPainter提供了丰富的绘图功能,可以用于绘制各种图形,包括直线、矩形、圆形、椭圆、多边形、贝塞尔曲线等。下面分别介绍这些图形绘制方法。 ### 直线 绘制直线可以使用QPainter的drawLine()方法。该方法需要指定直线的起点和终点坐标。 ```python from PyQt5.QtGui import QPainter, QPen from PyQt5.QtCore import Qt pen = QPen(Qt.black) # 创建画笔对象 pen.setWidth(2) # 设置画笔宽度 painter = QPainter() # 创建画家对象 painter.begin(self) # 开始绘画 painter.setPen(pen) # 设置画笔 painter.drawLine(0, 0, 100, 100) # 绘制直线 painter.end() # 结束绘画 ``` ### 矩形 绘制矩形可以使用QPainter的drawRect()方法。该方法需要指定矩形左上角坐标和矩形的宽度和高度。 ```python painter.drawRect(50, 50, 100, 100) # 绘制矩形 ``` ### 圆形 绘制圆形可以使用QPainter的drawEllipse()方法。该方法需要指定圆形的外接矩形。 ```python painter.drawEllipse(50, 50, 100, 100) # 绘制圆形 ``` ### 椭圆 绘制椭圆可以使用QPainter的drawEllipse()方法。该方法需要指定椭圆的外接矩形。 ```python painter.drawEllipse(50, 50, 100, 50) # 绘制椭圆 ``` ### 多边形 绘制多边形可以使用QPainter的drawPolygon()方法。该方法需要指定多边形的各个顶点坐标。 ```python points = [QPoint(50, 50), QPoint(100, 50), QPoint(100, 100), QPoint(50, 100)] painter.drawPolygon(points) # 绘制多边形 ``` ### 贝塞尔曲线 绘制贝塞尔曲线可以使用QPainter的drawBezierCurve()方法。该方法需要指定曲线的起点、控制点和终点坐标。 ```python painter.drawBezierCurve(50, 50, 75, 100, 125, 100, 150, 50) # 绘制贝塞尔曲线 ``` 以上是QPainter绘制各种图形的方法,你可以根据需要进行选择和组合。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值