绘制QPixmap、QImage
//截取使用
QRectF target(10.0, 20.0, 80.0, 80.0);
QRectF source(0.0, 0.0, 100.0, 100.0);
//绘制QPixmap
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing,true);
QPixmap pix(":/new/owncloud_logo_blue.png");
painter.drawPixmap(0,0,128,128,QPixmap(":/new/owncloud_logo_blue.png"));
painter.drawPixmap(target,pix,source);
//绘制QImage
QImage image(":/new/owncloud_logo_blue.png");
//将源图片source截取,然后会知道target位置
QRectF target2(110.0, 20.0, 180.0, 180.0);
QRectF source2(0.0, 0.0, 128.0, 128.0);
painter.drawImage(target2, image, source2);
//在坐标100,100处绘制QImage
painter.drawImage(190,80,image);
save()以及restore()的使用
//构建绘制对象
QPainter painter(this);
//设置边框圆滑
painter.setRenderHint(QPainter::Antialiasing, true);
//设置画笔
painter.setPen(QPen(Qt::black, 1, Qt::SolidLine, Qt::RoundCap,
Qt::MiterJoin));
//设置填充
painter.setBrush(QBrush(Qt::green, Qt::Dense3Pattern));
//绘制椭圆
painter.drawEllipse(20,20,100,50);
//保存绘制工具状态
painter.save();
//重新设置绘制工具属性!!!!!!!!!!!!!
painter.setPen(QPen(Qt::blue,50,Qt::SolidLine,Qt::RoundCap));
painter.setBrush(QBrush(Qt::red));
//设置扇形(跟弧线类似)
painter.drawPie(10, 10, 200, 200, -75 * 16, 75 * 16);
//恢复绘制工具状态
painter.restore();
//绘制矩形
painter.drawRect(200,200,100,100);