Qt:将quick的控件图像保存为QImage

直接上代码

注:C++11写法,需要编译器支持C++11标准才可以正常编译


QImage itemToImage(QObject *object)
{
    auto item = qobject_cast<QQuickItem*>(object);
    if(!item) { return QImage(); }

    QEventLoop eventLoop;
    QImage buf;
    auto grad = item->grabToImage();

    auto c = QObject::connect(grad.data(), &QQuickItemGrabResult::ready, [&]()
    {
        buf = grad->image();
        eventLoop.exit();
    });
    eventLoop.exec();
    QObject::disconnect(c);

    return buf;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值