很多软件都支持从剪切板里粘贴图片、文字数据到指定位置,比如:QQ、微信可以直接从剪切板粘贴图片、文字进行发送消息。这个功能QT里实现也很方便,接口QT都提供了。
来至QT帮助文档的介绍:
QClipboard类提供对窗口系统剪贴板的访问,剪贴板提供了在应用程序之间复制和粘贴数据的简单机制,QClipboard支持与QDrag相同的数据类型,并使用类似的机制。 QClipboard *clipboard = QGuiApplication::clipboard(); QString originalText = clipboard->text(); … clipboard->setText(newText);
QClipboard提供了一些方便的函数来访问常见的数据类型:setText()允许交换Unicode文本,setPixmap()和setImage()允许在应用程序之间交换Qpixmap和QImages。setMimeData()函数具有极大的灵活性:它允许将任何QMimeData添加到剪贴板中。每种类型都有相应的getter,例如text()、image()和pixmap()。可以通过调用clear()清除剪贴板。 使用这些功能的典型示例如下:
void DropArea::paste() { const QClipboard *clipboard = QApplication::clipboard(); const QMimeData *mimeData = clipboard->mimeData();
if (mimeData->hasImage()) { setPixmap(qvariant_cast(mimeData