软件环境: QT5.8 系统: win10
用法非常简单,包含头文件,获取粘贴板对象操作就行了。
#include <QClipboard> //包含头文件
1. 复制文本、设置文本
QClipboard *clipboard = QApplication::clipboard(); //获取系统剪贴板指针
clipboard->text(); //获取剪贴板内容
QString str_text = ui->lineEdit->text();
clipboard->setText(str_text); //设置剪贴板内容
2. 复制图片
QClipboard *clipboard = QApplication::clipboard(); //获取系统剪贴板指针
clipboard->setImage(QImage("G:\\zbox\\盒子.png")); //设置图片到剪贴板
测试通过该方法复制的图片只能粘贴到控件上,若想能粘贴到文件夹生成图片文件,需要设置图片文件到粘贴板。
3. 复制文件
#include <QMimeData> //包含需要用到的头文件
#include <QUrl>
QList<QUrl> file_list; //文件列表
QUrl fileurl = QUrl::fromLocalFile("G:\\zbox\\盒子.png"); //待复制的文件
if(fileurl.isValid()) //若复制的文件列表中,有文件路径不存在 ,则粘贴时不会成功
file_list.push_back(fileurl); //可设置多个文件,添加至文件列表
QMimeData *data=new QMimeData(); //数据容器,常用来描述保存在剪切板里信息,或者拖拽文件信息
data->setUrls(file_list); //将文件列表设置到容器中
QClipboard *clipboard =QApplication::clipboard(); //获取系统剪贴板指针
clipboard->setMimeData(data); //拷贝文件至剪贴板
经测试,若复制的文件列表中,有文件路径不存在 ,则粘贴时不会成功,但是可以粘贴有效路径文件的快捷方式。
来源:CSDN
作者:fangye945a
链接:https://blog.csdn.net/fangye945a/article/details/104311366