二维画图 需要注意的
Qt的二维图形引擎是基于QPainter类的,而 QPaintDevice 不直接绘制物理显示画面,而利用逻辑界面的中间媒介。例如,绘制矩形图形时,为了将对象绘制到 QWidget、QGLPixelBuffer、QImage、QPixmap、QPicture 等多种界面中间,必须使用 QPaintDevice。QPaintDevice是所有绘图设备的基类。 QPainter painter; painter.begin(this); ... painter.end(): QPainter painter(this); 上面这两个操作的效果相同,this表明在Widget部件上进行绘制,使用这个构造函数创建的对象会立即开始在设备上进行绘制,而调用begin就可以在创建QPainter时不指定使用设备,使用时再指定. 对于画笔 QPen::QPen(const QBrush &brush,qreal width,Qt::PenStyle style=Qt::SolidLine,Qt::PenCapStyle cap=Qt::SquareCap,Qt::PenJoinStyle join=Qt::BevelJoin); 参数分别为画笔使用的画刷,线宽,画笔风格,画笔端点风格和画笔连接风格,需要注意的是拐点风格和连接风格,拐点风格有FlatCap,SquareCap,RoundCap等