9.3 QPainter图形绘制
Qt绘图主要用到QPainter类,QPainter类提供了许多高度优化的函数去做大部分的GUI绘制工作。它可以画简单的线到复杂的形状,通常情况下,QPainter是在widget的painter绘图事件函数中使用。绘图的设备通常是主部件,也可以是QLabel部件或QTextEdit部件,通过一定的算法实现可以绘制出很漂亮的图形或我们需要的图形。
绘制时需要先定义一个QPainter类对象,绘制可以选择Qpen(画笔)、QBrush(画刷)。使用QPen写文本时还可以指定字体(QFont类)。
下面是QT帮助文档提供的一个示例程序,绘制一个QT文本:
void Widget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setPen(Qt::blue);
painter.setFont(QFont("Arial", 80));
painter.drawText(rect(), Qt::AlignCenter, "Qt");
}
显示效果如下:
绘图的时候,需要重载QWidget类的paintEvent ( QPaintEvent * )事件,函数原型如下:
voi