QT QPainter各个函数详解以及QPainter的begin函数,并进行举例
时间: 2024-05-12 08:15:28 浏览: 369
QT 绘图函数
QPainter 是一个用于绘制图形的类,可以在 QWidget,QImage 和 QPrinter 上绘制。以下是 QPainter 的常用函数:
1. begin:QPainter 的 begin 函数用于准备在指定设备上进行绘制。它需要一个参数,设备指针,该指针通常是 QWidget,QImage 或 QPrinter 类的实例。begin 函数必须与 end 函数成对使用,而且在调用 end 函数之前不能调用其他 QPainter 函数。
举例:
```c++
QPainter painter(widget);
painter.begin(widget);
painter.drawLine(0, 0, 100, 100);
painter.end();
```
2. drawLine:在当前绘图设备上绘制一条直线。该函数需要 4 个参数,分别是起点和终点的 x 和 y 坐标值。
举例:
```c++
QPainter painter(widget);
painter.drawLine(0, 0, 100, 100);
```
3. drawRect:在当前绘图设备上绘制一个矩形。该函数需要 4 个参数,分别是矩形的左上角 x 和 y 坐标值以及宽度和高度。
举例:
```c++
QPainter painter(widget);
painter.drawRect(10, 10, 100, 100);
```
4. drawEllipse:在当前绘图设备上绘制一个椭圆。该函数需要 4 个参数,分别是椭圆的外接矩形的左上角 x 和 y 坐标值以及宽度和高度。
举例:
```c++
QPainter painter(widget);
painter.drawEllipse(10, 10, 100, 50);
```
5. drawText:在当前绘图设备上绘制一段文本。该函数需要 2 个参数,分别是文本的左下角的 x 和 y 坐标值,以及要绘制的文本字符串。
举例:
```c++
QPainter painter(widget);
painter.drawText(10, 10, "Hello, world!");
```
6. setPen:设置绘制时使用的画笔。该函数需要一个参数,是 QPen 类型的实例,可以设置画笔的颜色、线宽等属性。
举例:
```c++
QPainter painter(widget);
QPen pen(Qt::red, 2, Qt::DashLine);
painter.setPen(pen);
painter.drawLine(0, 0, 100, 100);
```
7. setBrush:设置绘制时使用的画刷。该函数需要一个参数,是 QBrush 类型的实例,可以设置画刷的颜色、样式等属性。
举例:
```c++
QPainter painter(widget);
QBrush brush(Qt::red, Qt::DiagCrossPattern);
painter.setBrush(brush);
painter.drawRect(10, 10, 100, 100);
```
8. setFont:设置绘制时使用的字体。该函数需要一个参数,是 QFont 类型的实例,可以设置字体的名称、大小、粗细等属性。
举例:
```c++
QPainter painter(widget);
QFont font("Arial", 12, QFont::Bold);
painter.setFont(font);
painter.drawText(10, 10, "Hello, world!");
```
以上就是 QPainter 的常用函数,通过这些函数可以绘制出各种各样的图形。
阅读全文