QClipboard *clipboard;
clipboard=QGuiApplication::clipboard();
const QMimeData *mimeData =clipboard->mimeData();
qDebug()<<mimeData->formats()<<Qt::endl;
上面代码得出的结果是
没有"image/jpg"类型的,全是application/x-qt-windows-mime类型的,有相关博客内容
并不能解决问题,我就想知道这么多application/x-qt-windows-mime类型的数据怎么操作,我只是想得到剪切板的图片
看人家的代码跟我的没什么区别,但是人家mimeData->hasImage()的值就是1,代表获取到了"image/png"类型的数据,所以我这种情况有谁遇到过吗?这么多application/x-qt-windows-mime类型的数据怎么操作?chat-gpt回答勿扰。
if(mimeData->hasImage())
{
//将图片数据转为QImage
QImage img = qvariant_cast<QImage>(mimeData->imageData());
qDebug()<<"has image"<<Qt::endl;
}else if(mimeData->hasText()){
qDebug()<<mimeData->text()<<Qt::endl
<<" clipboard is empty";
}
接上面代码,这段代码运行不会运行第一个if,直接到第二个else if,足以说明没有"image"格式的,
所以如果复制图片,结果mimeData没有图片格式的数据怎么回事。