QKeyEvent* pKeyEvent = dynamic_cast<QKeyEvent*>(event);
if (pKeyEvent->modifiers() & Qt::ControlModifier && pKeyEvent->key() == Qt::Key_V)
{
// Screenshot image
const QMimeData* pMimeData = qApp->clipboard()->mimeData();
qDebug() << pMimeData->hasImage();
if (pMimeData->hasImage())
{
#ifdef Q_OS_MAC
QList<QUrl> files = pMimeData->urls();
if (files.size() != 0)
{
QString file = files.at(0).toLocalFile();
if ((PFB::getMimeType(file).compare("image/jpeg") == 0
|| PFB::getMimeType(file).compare("image/png") == 0))
{
m_pImageWidget->parserIamge(file);
}
return true;
}
#endif
QVariant data = pMimeData->imageData();
if (data.type() == QVariant::Image)
{
QImage image = data.value<QImage>();
QString strPath = PFB::getCachePath() + "/upload/" + PFB::getUuid() + ".png";
if (image.save(strPath))
m_pImageWidget->parserIamge(strPath);
return true;
}
}
// copy image
if (pMimeData->hasUrls())
{
QList<QUrl> files = pMimeData->urls();
foreach (QUrl url, files) {
QString file = url.toLocalFile();
if (m_pImageWidget->imageList().size() < 2 && (PFB::getMimeType(file).compare("image/jpeg") == 0
|| PFB::getMimeType(file).compare("image/png") == 0))
{
m_pImageWidget->parserIamge(file);
}
}
return true;
}
}
qt mac和windows复制一张图片,剪贴板差异
最新推荐文章于 2023-03-08 17:19:12 发布