PyQt5之QPainter(十八)

import sys,math
from PyQt5.QtGui import QPainter,QPolygon,QPainterPath
from PyQt5.QtWidgets import QWidget,QApplication
from PyQt5.QtCore import Qt

class DrawDemo(QWidget):
    def __init__(self,parent=None):
        super(DrawDemo,self).__init__(parent)
        #self.resize(400,200)
        self.setWindowTitle('在窗口画点')

    def paintEvent(self,event):
        #实例化
        painter=QPainter()
        #开始在窗口绘制
        painter.begin(self)
        #设置画笔颜色
        painter.setPen(Qt.blue)
        painter.setPen(Qt.DashLine)

        #painter.setPen(20)
        #画线painter.drawline(x1,y1,x2,y2)
        painter.drawLine(100,50,200,100)
        #画点
        #painter.drawPoint(210,120)
        #画矩形drawRect(int x,int y,int w,int h)
        #painter.drawRect(100,100,100,10)
        #画椭圆
        #painter.drawEllipse(100,50,100,50)
        #画文本
        #painter.drawText(100,100,"this is draw text")
        #画多边形
        #polygon = QPolygon()
        #polygon.setPoints(10,30,100,40,200,50,60,90,25)
        #painter.drawPolygon(polygon)
        #画扇形
        #painter.drawPie(100,100,200,200,75,400)
        #画弧形
        #painter.drawArc(100,100,200,200,150,1000)
        #画路径
        '''''
        path = QPainterPath()
        path.addRect(100, 100, 100, 100)
        path.addEllipse(150, 150, 60, 80)
        painter.setBrush(Qt.red)
        # path.setFillRule(Qt.WindingFill) #非零填充规则
        path.setFillRule(Qt.OddEvenFill)  # 奇偶填充规则
        painter.drawPath(path)
        '''

if __name__ == '__main__':
    app=QApplication(sys.argv)
    demo=DrawDemo()
    demo.show()
    sys.exit(app.exec_())

参考:PyQt5基本控件详解之QPainter(十七)_jia666666的博客-CSDN博客_pyqt5 qpainter

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyQt5是Python语言的GUI编程工具包,其中包含了QPainter类,可以用来绘制各种图形。下面是一些常见的图形及其绘制方法: 1. 直线 ```python from PyQt5.QtGui import QPainter, QPen from PyQt5.QtCore import Qt pen = QPen(Qt.black, 2, Qt.SolidLine) painter = QPainter() painter.begin(self) painter.setPen(pen) painter.drawLine(0, 0, 100, 100) painter.end() ``` 2. 矩形 ```python from PyQt5.QtGui import QPainter, QPen, QBrush from PyQt5.QtCore import Qt pen = QPen(Qt.black, 2, Qt.SolidLine) brush = QBrush(Qt.gray) painter = QPainter() painter.begin(self) painter.setPen(pen) painter.setBrush(brush) painter.drawRect(0, 0, 100, 100) painter.end() ``` 3. 圆形 ```python from PyQt5.QtGui import QPainter, QPen, QBrush from PyQt5.QtCore import Qt pen = QPen(Qt.black, 2, Qt.SolidLine) brush = QBrush(Qt.gray) painter = QPainter() painter.begin(self) painter.setPen(pen) painter.setBrush(brush) painter.drawEllipse(0, 0, 100, 100) painter.end() ``` 4. 文字 ```python from PyQt5.QtGui import QPainter, QFont from PyQt5.QtCore import Qt font = QFont("Arial", 16) painter = QPainter() painter.begin(self) painter.setFont(font) painter.drawText(0, 0, "Hello PyQt5") painter.end() ``` 5. 多边形 ```python from PyQt5.QtGui import QPainter, QPen, QBrush from PyQt5.QtCore import Qt, QPoint pen = QPen(Qt.black, 2, Qt.SolidLine) brush = QBrush(Qt.gray) painter = QPainter() painter.begin(self) painter.setPen(pen) painter.setBrush(brush) points = [QPoint(0, 0), QPoint(50, 50), QPoint(100, 0)] painter.drawPolygon(points) painter.end() ``` 以上只是一些常见的图形,QPainter还支持更多的绘制方法,比如曲线、扇形等等,具体可以参考官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值