- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
所以这是交易,我正在尝试获取剪贴板图像(任何格式),我正在尝试的方法要么返回 NULL,要么像这样返回图像的文本格式路径
我用谷歌搜索过,也在 reddit 上问过,但我不知道发生了什么。
所以有我试过的方法
(1)
const QClipboard *cb = QApplication::clipboard();
const QMimeData *md = cb->mimeData();
QListWidgetItem *item = new QListWidgetItem();
QLabel *label = new QLabel();
if (md->hasImage())
{
label->setPixmap(cb->pixmap());
ui.listWidget->setIconSize(QSize(100, 200));
ui.listWidget->addItem(item);
ui.listWidget->setItemWidget(item, label);
}
else if (md->hasText())
{
ui.listWidget->addItem(cb->text());
}
(2)
label->setPixmap(cb->image());
(3)
HBITMAP MemoryManager::ImageFomClipboard(HWND hWnd)
{
if (!OpenClipboard(hWnd))
return NULL;
HBITMAP hBitmap = (HBITMAP)GetClipboardData(CF_BITMAP);
CloseClipboard();
return hBitmap;
}
std::string MemoryManager::get_image(std::string number)
{
HWND hWnd = GetDesktopWindow();
HBITMAP hBitmap = ImageFomClipboard(hWnd);
if (hBitmap != NULL)
{
CImage image;
image.Attach(hBitmap);
image.Save(_T("C:/temp/asx.bmp"), Gdiplus::ImageFormatBMP);
}
return "C:/temp/asx.bmp";
}
(1)st方法返回图片路径
(2) nd方法返回null
(3) rd 方法仅返回打印屏幕图像。不知道为什么,可能是因为 .bmp 格式。
我现在完全不知道如何解决这个问题,请帮助我。
最佳答案
感谢@Xplatforms 我得到了这个解决方案,
QImage img(cb->image()); label->setPixmap(QPixmap::fromImage(img));
else if(md->formats().contains(QStringLiteral("text/uri-list"))) { QImage img(QUrl(cb->text()).toLocalFile());
label->setPixmap(QPixmap::fromImage(img));
再次感谢@Xplatforms :) 你太棒了。
关于c++ - 如何从 C++ 中的 Qclipboard mimeData 获取剪贴板图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46825795/
我本质上是在重复 PyQt: Getting file name for file dropped in app 的评论中提出(但没有回答)的问题。 。 我希望能够做的就是转换 pyqt 中文件删除事
默认情况下,QAbstractTableModel 类有一个 mimeData() 函数,该函数返回一个 QMimeData 对象,该对象的数据集为编码 QModelIndexList(参见 here
所以这是交易,我正在尝试获取剪贴板图像(任何格式),我正在尝试的方法要么返回 NULL,要么像这样返回图像的文本格式路径 我用谷歌搜索过,也在 reddit 上问过,但我不知道发生了什么。 所以有我试
最近我用 Ruby 和 Qt 编写了一个小应用程序。这是我使用 qtruby 的第一个重要项目。一段时间后,我设法将 C++ 引用和教程翻译成可工作的 Ruby 代码,并且掌握了窍门。 仅当在 QTr
我是一名优秀的程序员,十分优秀!