QT5 剪貼板操作

軟件環境: 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);                      //拷貝文件至剪貼板

經測試,若複製的文件列表中,有文件路徑不存在 ,則粘貼時不會成功,但是可以粘貼有效路徑文件的快捷方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章