軟件環境: 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); //拷貝文件至剪貼板
經測試,若複製的文件列表中,有文件路徑不存在 ,則粘貼時不會成功,但是可以粘貼有效路徑文件的快捷方式。