Qt图形系统中的关键角色
-QPainter
·Qt中的画家,能够绘制个钟基础图形
·拥有绘制所需的画笔(QPen),画刷(QBrush),字体(QFont)
-QPaintDevice
·Qt中的画布,画家(QPainter)的绘图板
·所有QWidget类都继承自QPaintDeivce
画家(QPainter)所使用的工具角色
-QPen
·用于绘制几何图形的边缘,由颜色,宽度,线风格等参数组成
-QBrush
·用于填充几何模型的调色板,由颜色和填充风格组成
-QFont
·用于文本绘制,由字体属性组成
QPainter基本绘图能力
成员函数 | 功能 | 成员函数 | 功能 |
drawPoint() | 绘制点 | drawChord() | 绘制弦 |
drawLine() | 绘制直线 | drawPolygon() | 绘制多边形 |
drawRect() | 绘制矩形 | drawRoundedRect() | 绘制圆角矩形 |
drawArc() | 绘制圆弧 | drawPllyline() | 绘制折线 |
drawEllipse() | 绘制椭圆 | drawConvexPolygon() | 绘制凸边形 |
drawPie() | 绘制扇形 |
重要规则
-只能在QWidget::paintEvent中绘制图形
void paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.drawLine(QPoint(30,30),QPoint(100,100));
}
工程解决方案
-根据需要确定参数对象(绘制类型,点坐标,角度,等)
-将参数对象存入数据集合中(如:链表)
-在paintEvent函数中遍历数据集合
-根据参数对象绘制图形(update())
总结:
-QPainter是Qt中关键绘图类
-QPainter只能在QPaintDevice上绘图
-paintEvent()是Qt中的绘图上下文
-工程中通过改变绘图参数进行动态绘图