• 10819阅读
  • 1回复

QMimeData的使用 [复制链接]

上一主题 下一主题
离线verytoy
 
只看楼主 倒序阅读 楼主  发表于: 2009-09-21
想使用QMimeData把剪贴板中的图片保存下来,但是为了程序方便,不想使用QMimeData::imageData
而使用了:
             clip=QApplication::clipboard();
            const QMimeData * mimedata=clip->mimeData(QClipboard::Clipboard);
            QByteArray data=mimedata->data("application/x-qt-image");
把data保存下来,使用时在另一处:
           QMimeData * clipmime=new QMimeData;
          clipmime->setData("application/x-qt-image",data);
          clip->setMimeData(clipmime);
结果发现没用,剪贴板中没有图片
如果使用QMimeData::imageData,和QMimeData::setImageData
就没有问题,
有哪位贤达能解释一下么,谢谢
离线jinhuan

只看该作者 1楼 发表于: 2013-05-02
    QMimeData* mimeData = new QMimeData();
    QByteArray data;
    QBuffer buffer(&data);
    buffer.open(QIODevice::WriteOnly);
    image.save(&buffer, "PNG");
    buffer.close();
    mimeData->setData("PNG", data);
    qApp->clipboard()->setMimeData(mimeData);
图片不能直接存在QByteArray中
快速回复
限100 字节
 
上一个 下一个