|
1Qter豆
在学习2D绘图的时候遇到一些问题。我的paintEvent(...)中的代码如下:
void Widget::paintEvent(QPaintEvent *)
{
QPainter p;
QImage img;
QPicture pic;
p.begin(&pic);
p.drawLine(QPointF(10, 10), QPointF(100, 100));
p.end();
pic.save("picture.pic");
QPicture picture;
picture.load("picture.pic");
QPainter pp;
pp.begin(&img);
pp.drawPicture(0, 0, picture);
pp.end();
QPainter ppp(this);
ppp.drawImage(0, 0, img);
}
这是按照本站的教程以及参考QT帮助文档写的。本人的思路如下:
一:在pic上画一条直线,然后将其保存。
二:装置picture,然后将picture的内容绘制到img上。
三:在widget部件上绘制img上的内容。
但程序运行后出现以下提示:
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::end: Painter not active, aborted
也就是说设置的img作为绘图设备是无效的。这是怎么回事儿呢?
|
最佳答案
查看完整内容
这个问题可以自己找到答案。
可以直接在img上绘制直线进行测试。
|