drawprimitive在qt中的使用案例
时间: 2023-12-30 18:05:20 浏览: 35
在Qt中,可以使用QPainter类来绘制各种形状和图像。QPainter提供了一组方便的绘图函数,其中之一是drawPrimitive()函数。这个函数可以用来绘制一些预定义的基本形状,如线段、矩形、椭圆等等。
下面是一个简单的使用案例,演示了如何使用drawPrimitive()函数来绘制一个矩形和一个椭圆:
```cpp
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget widget;
widget.resize(400, 300);
widget.setWindowTitle("Draw Primitives Example");
// 创建一个QPainter对象
QPainter painter(&widget);
// 绘制一个矩形
QPen pen(Qt::blue);
pen.setWidth(2);
painter.setPen(pen);
painter.drawPrimitive(QStyle::PE_Rectangle, QRect(50, 50, 100, 100));
// 绘制一个椭圆
QBrush brush(Qt::green);
painter.setBrush(brush);
painter.drawPrimitive(QStyle::PE_Ellipse, QRect(200, 50, 100, 100));
widget.show();
return app.exec();
}
```
在这个例子中,我们创建了一个QWidget窗口,然后在窗口上创建了一个QPainter对象。使用setPen()和setBrush()函数设置画笔和画刷,然后调用drawPrimitive()函数绘制矩形和椭圆。注意,QStyle::PE_Rectangle和QStyle::PE_Ellipse是预定义的常量,表示矩形和椭圆形状。最后,我们将窗口显示出来并进入Qt的事件循环中。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)