星星蛋挞 2023-02-12 19:07 采纳率: 100%
浏览 44
已结题

QT中复制的图片无法粘贴,如何解决?

QT中复制的图片无法粘贴

在QT6中用如下代码实现了图片的复制,只能粘贴到QQ聊天窗口,不能复制到文件夹中,这是为何

    QClipboard *clipboard = QApplication::clipboard();   //获取系统剪贴板指针
    clipboard->setPixmap(pix);    //复制

求各位指教!谢谢大家

  • 写回答

2条回答 默认 最新

  • 快撑死的鱼 2023-02-12 19:29
    关注

    回答不易,求求您采纳哦 感激不尽

    当你复制图片到剪贴板时,剪贴板支持多种数据格式,比如文本、图片、HTML等。为了让复制的图片能够在文件夹中粘贴,你需要设置剪贴板的图片格式。

    您可以在代码中使用以下代码设置图片格式:

    QClipboard *clipboard = QApplication::clipboard();
    QMimeData *mimeData = new QMimeData;
    mimeData->setImageData(pix.toImage());
    clipboard->setMimeData(mimeData);
    
    
    

    您还可以使用其他图像格式,例如PNG,如下所示:

    QClipboard *clipboard = QApplication::clipboard();
    QMimeData *mimeData = new QMimeData;
    QByteArray ba;
    QBuffer buffer(&ba);
    buffer.open(QIODevice::WriteOnly);
    pix.save(&buffer, "PNG");
    mimeData->setData("image/png", ba);
    clipboard->setMimeData(mimeData);
    
    
    

    请注意,上面的代码在复制图像后需要使用“粘贴”命令粘贴图像到文件夹中。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月21日
  • 已采纳回答 2月13日
  • 创建了问题 2月12日