QPainter使用教程
时间: 2023-07-11 18:50:06 浏览: 115
QPainter是Qt中的一个图形绘制类,可以用于绘制各种图形、图标、图像等。下面是一个简单的QPainter使用教程:
1. 创建QPainter对象
在使用QPainter进行绘制之前,需要先创建一个QPainter对象。可以使用QWidget或QPixmap的成员函数来创建QPainter对象,例如:
```cpp
QPainter painter(this); // 在QWidget中创建QPainter对象
QPainter painter(&pixmap); // 在QPixmap中创建QPainter对象
```
2. 设置画笔和画刷
在QPainter中,可以使用画笔和画刷来绘制各种形状和图像。画笔用于绘制边框,画刷用于填充内部。可以使用QPen和QBrush类来创建画笔和画刷,例如:
```cpp
QPen pen(Qt::red, 2); // 创建一个红色的画笔,并设置线宽为2
QBrush brush(Qt::blue); // 创建一个蓝色的画刷
painter.setPen(pen); // 设置画笔
painter.setBrush(brush); // 设置画刷
```
3. 绘制图形
使用QPainter可以绘制各种图形,例如线段、矩形、椭圆、圆弧等。可以使用QPainter的成员函数来绘制这些图形,例如:
```cpp
painter.drawLine(QPoint(0, 0), QPoint(100, 100)); // 绘制一条直线
painter.drawRect(QRect(50, 50, 100, 100)); // 绘制一个矩形
painter.drawEllipse(QRect(50, 50, 100, 100)); // 绘制一个椭圆
painter.drawArc(QRect(50, 50, 100, 100), 0, 90 * 16); // 绘制一个圆弧
```
4. 绘制文本
使用QPainter还可以绘制文本。可以使用QFont类来设置字体,使用QPainter的drawText函数来绘制文本,例如:
```cpp
QFont font("Arial", 12, QFont::Bold); // 创建一个粗体Arial字体,字号为12
painter.setFont(font); // 设置字体
painter.drawText(QPoint(50, 50), "Hello, world!"); // 绘制文本
```
5. 绘制图像
如果想要在绘制中使用图像,可以使用QPixmap和QImage类来加载图像,然后使用QPainter的drawPixmap和drawImage函数来绘制图像,例如:
```cpp
QPixmap pixmap("image.png"); // 加载一张图像
painter.drawPixmap(QRect(0, 0, 100, 100), pixmap); // 绘制图像
```
这就是一个简单的QPainter使用教程。当然,QPainter还有很多其他的绘制函数和选项,可以根据需要进行使用。
阅读全文