- PyQt5 教程
- PyQt5 - 主页
- PyQt5 - 简介
- PyQt5 - 新增功能
- PyQt5 - 你好世界
- PyQt5 - 主要类
- PyQt5 - 使用 Qt 设计器
- PyQt5 - 信号和槽
- PyQt5 - 布局管理
- PyQt5 - 基本小部件
- PyQt5 - QDialog 类
- PyQt5 - QMessageBox
- PyQt5 - 多文档界面
- PyQt5 - 拖放
- PyQt5 - 数据库处理
- PyQt5 - 绘图 API
- PyQt5 - BrushStyle 常量
- PyQt5 - QClipboard
- PyQt5 - QPixmap 类
- PyQt5 有用资源
- PyQt5 - 快速指南
- PyQt5 - 有用的资源
- PyQt5 - 讨论
PyQt5 - 绘图 API
PyQt 中的所有QWidget类都是 QPaintDevice 类的子类。QPaintDevice是二维空间的抽象,可以使用 QPainter 进行绘制。绘画设备的尺寸从左上角开始以像素为单位进行测量。
QPainter类在小部件和其他可绘制设备(例如打印机)上执行低级绘制。通常,它用在小部件的绘制事件中。每当窗口部件的外观更新时,QPaintEvent就会发生。
画家通过调用begin()方法来激活,而end()方法则将其停用。其间,通过下表中列出的适当方法绘制所需的图案。
先生。 | 方法与说明 |
---|---|
1 |
开始() 开始在目标设备上绘画 |
2 |
绘制弧线() 在起始角度和结束角度之间绘制圆弧 |
3 |
画椭圆() 在矩形内绘制椭圆 |
4 |
画线() 绘制一条指定端点坐标的线 |
5 |
绘制像素图() 从图像文件中提取pixmap并将其显示在指定位置 |
6 |
drwaPolygon() 使用坐标数组绘制多边形 |
7 |
绘制矩形() 从左上角坐标开始绘制一个具有给定宽度和高度的矩形 |
8 |
绘制文本() 在给定坐标处显示文本 |
9 |
填充矩形() 使用 QColor 参数填充矩形 |
10 |
设置画笔() 设置绘画的画笔样式 |
11 |
设置笔() 设置用于绘图的笔的颜色、大小和样式 |
例子
在下面的代码中,使用了PyQt的绘图方法的各种方法。
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class Example(QWidget): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): self.text = "hello world" self.setGeometry(100,100, 400,300) self.setWindowTitle('Draw Demo') self.show() def paintEvent(self, event): qp = QPainter() qp.begin(self) qp.setPen(QColor(Qt.red)) qp.setFont(QFont('Arial', 20)) qp.drawText(10,50, "hello Python") qp.setPen(QColor(Qt.blue)) qp.drawLine(10,100,100,100) qp.drawRect(10,150,150,100) qp.setPen(QColor(Qt.yellow)) qp.drawEllipse(100,50,100,50) qp.drawPixmap(220,10,QPixmap("pythonlogo.png")) qp.fillRect(20,175,130,70,QBrush(Qt.SolidPattern)) qp.end() def main(): app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
上面的代码产生以下输出 -