QT读取剪切板内容-实现复制粘贴文本和图片

满堂花醉三千客,一剑霜寒十四州。这篇文章主要讲述QT读取剪切板内容-实现复制粘贴文本和图片相关的知识,希望能为你提供帮助。
1. 前言很多软件都支持从剪切板里粘贴图片、文字数据到指定位置,比如:QQ、微信可以直接从剪切板粘贴图片、文字进行发送消息。这个功能QT里实现也很方便,接口QT都提供了。
来至QT帮助文档的介绍:
使用剪切板功能需要加入的头文件:

#include < QClipboard> #include < QApplication> #include < QMimeData>

QT读取剪切板内容-实现复制粘贴文本和图片

文章图片

QT读取剪切板内容-实现复制粘贴文本和图片

文章图片

2. 实现代码 2.1 从剪切板获取图片
从剪切板里获取图片,转为QImage,然后在窗口上绘制出来,效果上面图片里贴了。
//粘贴图片 void Widget::on_pushButton_4_clicked()QClipboard *clipboard = QApplication::clipboard(); const QMimeData *mimeData = https://www.songbingjia.com/android/clipboard-> mimeData(); if (mimeData-> hasImage())//将图片数据转为QImage QImage img = qvariant_cast< QImage> (mimeData-> imageData()); if(!img.isNull())//绘制显示图片 ui-> widget-> SetImage(img);

2.2 给剪切板设置图片
【QT读取剪切板内容-实现复制粘贴文本和图片】将软件内的图片赋值给剪切板,方便粘贴到其他地方。
//复制图片 void Widget::on_pushButton_3_clicked()QString filename=QFileDialog::getOpenFileName(this,"选择图片","C:/",tr("*.bmp *.jpg *.png")); //filename==选择文件的绝对路径if(!filename.isEmpty())QClipboard *clipboard = QApplication::clipboard(); clipboard-> setImage(QImage(filename));

2.3 从剪切板获取文本
void Widget::on_pushButton_2_clicked()QClipboard *clipboard = QApplication::clipboard(); QString text=clipboard-> text(); ui-> plainTextEdit-> setPlainText(text);

2.4 给剪切板设置文本
void Widget::on_pushButton_clicked()QClipboard *clipboard = QApplication::clipboard(); clipboard-> setText("hello,我是QT复制到剪切板的文本.");


    推荐阅读