代码:新建一个Widget工程,基类为QWidget,其他保持默认(但不勾选ui文件)。
然后在widget.h头文件中添加paintEvent函数声明:
protected:
void paintEvent(QPaintEvent* e);
在widget.cpp添加
void Widget::paintEvent(QPaintEvent *e)
{
QPainter painter(this);
//绘制image
QImage image(100,100,QImage::Format_ARGB32);
painter.begin(&image);
painter.setPen(QPen(Qt::darkCyan,3));
painter.setBrush(QColor(204,237,207));
painter.drawRect(10,10,60,60);
painter.drawText(10,10,60,60,Qt::AlignCenter,"QImage");
painter.setBrush(QColor(0,0,0,100));
painter.drawRect(50,50,40,40);
painter.end();
//在Widget上绘制出来
painter.begin(this);
painter.drawImage(100,20,image);//这里的100,20根本不起作用,改成任何值都是原位置不变
painter.end();
}