找回密码
 立即注册
收起左侧

关于QPicture的问题

2
回复
6658
查看
[复制链接]
累计签到:57 天
连续签到:1 天
来源: 2014-7-25 23:34:47 显示全部楼层 |阅读模式
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上绘制直线进行测试。
回复

使用道具 举报

累计签到:1569 天
连续签到:1 天
2014-7-25 23:34:48 显示全部楼层
这个问题可以自己找到答案。

可以直接在img上绘制直线进行测试。
回复

使用道具 举报

累计签到:57 天
连续签到:1 天
2014-7-30 22:10:59 显示全部楼层
yafeilinux 发表于 2014-7-25 23:34
这个问题可以自己找到答案。

可以直接在img上绘制直线进行测试。

多谢yafei的回复,配合着教材以及帮助文档已经解决了了这个问题,而且加深了对这一部分的理解。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了