#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
protected:
void paintEvent(QPaintEvent *);
private:
Ui::Widget *ui;
};
#endif
#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
#include <QPicture>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QPixmap pix(300, 300);
pix.fill(Qt::red);
QPainter p(&pix);
p.setPen(QPen(Qt::green, 10));
p.drawRect(10, 10, 280, 280);
p.drawEllipse(150, 150, 50, 50);
pix.save("D:\\mypixmap.png");
QImage img(300, 300, QImage::Format_RGB32);
img.fill(Qt::red);
p.begin(&img);
p.setPen(QPen(Qt::green, 10));
p.drawRect(10, 10, 280, 280);
p.drawEllipse(150, 150, 50, 50);
p.end();
img.save("D:\\myImage.png");
QPicture pic;
p.begin(&pic);
p.setPen(QPen(Qt::green, 10));
p.drawRect(10, 10, 280, 280);
p.drawEllipse(150, 150, 50, 50);
p.end();
pic.save("D:\\mypic.aaa");
}
Widget::~Widget()
{
delete ui;
}
void Widget::paintEvent(QPaintEvent *)
{
QPainter p(this);
QPicture pic;
pic.load("D:\\mypic.png");
p.drawPicture(100, 100, pic);
}