满堂花醉三千客,一剑霜寒十四州。这篇文章主要讲述QT读取剪切板内容-实现复制粘贴文本和图片相关的知识,希望能为你提供帮助。
1. 前言很多软件都支持从剪切板里粘贴图片、文字数据到指定位置,比如:QQ、微信可以直接从剪切板粘贴图片、文字进行发送消息。这个功能QT里实现也很方便,接口QT都提供了。
来至QT帮助文档的介绍:
使用剪切板功能需要加入的头文件:
#include <
QClipboard>
#include <
QApplication>
#include <
QMimeData>
文章图片
文章图片
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复制到剪切板的文本.");
推荐阅读
- 基于RK3399OpenHarmony富设备软件音频解码方案
- DVC - 数据版本控制入门详解
- 字节跳动流式数据集成基于Flink Checkpoint两阶段提交的实践和优化
- #yyds干货盘点# Map - LinkedHashSet&Map源码解析
- 一文了解 Python 中的对象析构函数(__del__)
- 阿里巴巴开源大规模稀疏模型训练/预测引擎DeepRec
- #yyds干货盘点# ant design中 table的表格行的拖拽实现
- #yyds干货盘点#运算溢出,负负得正
- k8s部署微服务springcloud从0-1(微服务各个组件镜像构建)