qt 绘制矢量图
时间: 2023-07-05 20:05:01 浏览: 257
Qt 提供了一些类来绘制矢量图形,其中最常用的是 QPainter 和 QPen。 QPainter 是一个强大的绘图工具,可以在 Qt 应用程序中绘制各种 2D 图形。而 QPen 则是用来控制线条的颜色、宽度和样式等属性。以下是一个简单的示例代码,演示如何使用 QPainter 和 QPen 绘制一条直线:
```cpp
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建一个窗口
QWidget window;
window.resize(300, 200);
window.setWindowTitle("Drawing a line");
// 显示窗口
window.show();
// 创建一个画布,用于绘制图形
QPixmap pixmap(window.size());
pixmap.fill(Qt::white);
// 创建一个 QPainter 对象
QPainter painter(&pixmap);
// 创建一个 QPen 对象,并设置线条颜色、宽度和样式
QPen pen(Qt::red);
pen.setWidth(2);
pen.setStyle(Qt::DashLine);
// 将 QPen 对象设置到 QPainter 中
painter.setPen(pen);
// 绘制一条直线
painter.drawLine(0, 0, 200, 100);
// 在窗口中显示绘制结果
QLabel label(&window);
label.setPixmap(pixmap);
label.setGeometry(0, 0, pixmap.width(), pixmap.height());
label.show();
return app.exec();
}
```
在这个示例中,我们首先创建了一个 QWidget 窗口,并将其显示出来。然后,我们创建了一个 QPixmap 对象作为画布,用于绘制图形。接着,我们创建了一个 QPainter 对象,并将其关联到 QPixmap 中。接下来,我们创建了一个 QPen 对象,并设置了线条的颜色、宽度和样式等属性。最后,我们使用 QPainter 的 drawLine() 函数绘制了一条直线,并在窗口中显示出来。
除了绘制直线以外,Qt 还提供了许多其他的绘图函数,例如 drawRect()、drawEllipse()、drawText() 等,可以用来绘制不同形状和样式的图形。
阅读全文