Qt实现 复制内容到剪贴板(文件,图片,文本)

Qt5.14.2 剪贴板之巧——Qt让“复制粘贴“更高效 作为现代图形界面程序的标配功能,剪贴板操作在日常办公和编程中无疑是最常见的场景之一。而在Qt的疆场内,大神们也为我们准备了一手利器——QClipboard类,让复制粘贴操作变得前所未有的简单高效。今天,就让我们一睹究竟,领略Qt大神们在这方面的非凡功力吧! 阅读详情
AI摘要

本文详细介绍了如何在Qt应用程序中使用QClipboard类来复制文本、图片和文件到剪贴板。通过具体的代码示例,展示了复制不同类型数据的具体方法。

QClipboard类提供对窗口系统剪贴板的访问。
剪贴板提供了在应用程序之间复制和粘贴数据的简单机制。
通过QClipboard提供的一些函数,可以实现复制文字,复制图片、文件的操作。

以下是对这些操作的接口使用:

复制文本:

通过setText(const QString &text, Mode mode = Clipboard)函数设置:
它表示将文本作为纯文本复制到剪贴板中

mode参数用于控制使用系统剪贴板的哪一部分。默认Clipboard。
如果mode为QClipboard::Clipboard,文本存储在全局剪贴板中。
如果mode为QClipboard::Selection,文本存储在全局鼠标选择中。
如果mode为QClipboard::FindBuffer,文本存储在搜索字符串缓冲区中(macOS上使用)。
通常我们只使用QClipboard::Clipboard。

void Widget::on_pushButton_clicked()
{
    QClipboard *clip = QApplication::clipboard();
    clip->setText("hello qt");
}

复制图片:

setPixmap(const QPixmap &pixmap, Mode mode = Clipboard):表示复制QPixmap到剪贴板。
比setImage()慢,因为它需要首先将QPixmap转换为QImage,这是一个耗时操作。

void MainWindow::on_pushButton_clicked()
{
    //复制图像,可粘贴到画图中
    QImage *image=new QImage();
    image->load("G:/Qt_coding/clipboard/test.png");

    QClipboard *clip=QApplication::clipboard();
    clip->setPixmap(QPixmap::fromImage(*image));
    //clip->setImage(*image);
}

复制文件:

setMimeData(QMimeData *src, Mode mode = Clipboard):
表示将剪贴板数据设置为QMimeData数据,QMimeData支持文本、html、图片、文件等。

void MainWindow::on_pushButton_clicked()
{
    QList<QUrl> copyfile;
    QUrl url=QUrl::fromLocalFile("G:\\test.txt");    //待复制的文件
    if(url.isValid()){
        copyfile.push_back(url);
    }else{
        return;
    }
    QMimeData *data=new QMimeData;
    data->setUrls(copyfile);

    QClipboard *clip=QApplication::clipboard();
    clip->setMimeData(data);
}

人生苦短,总结不易,如果这篇文章可以帮助到你,请轻轻移动一下鼠标,把它顶(赞)起来,分享给更多的需要的伙伴。

Qt如何复制表格内容到excel? 文章可能已更新,最新地址:http://www.fearlazy.com/index.php/post/117.html 复制表格的内容是一种很常用的操作,但是要将表格中的内容复制到excel会存在一个问题。Qt应用程序和excel是两个不同程序,他们进行数据交互需要一座桥梁。它就是剪贴板,好在Qt已经为我们封装好了剪贴板QClipboard类。 光有剪贴板还是不够的,... 阅读详情

相关推荐

自定义QTableView右键弹出菜单, 并复制选中的单元格内容到剪贴板中

源码如下: 头文件 private: QAction *m_pActionCopy; private slots: void copyData1(); void copyData2(); 源文件: m_pActionCopy = new QAction(tr("复制"), ui->tableView); connect(m_pActionCopy, &QAction::triggered, this, &frmDbDelegate::cop

$firecat利白的代码足迹$ 3354

Qt实现复制文字,图片,文件到系统剪贴板中

【代码】Qt实现复制文字,图片,文件到系统剪贴板中。

Pailugou的博客 3372

linux系统 用QT实现复制粘贴文件

QT通过QClipboard获取系统剪贴板类,对剪贴板进行操作。 其中QClipboard::setMimeData()设置QMimedata数据。 QClipboard中的mimeData数据操作的是一种QMimedata类型的数据,这是一种多格式的数据。 QMimedata类提供了记录MIME类型信息的容器,QMimedata类存储的信息可以应用于剪贴板和拖放机制。 单个的QMim

Aggressive_snail的专栏 4308

QT 复制、粘贴系统剪贴板

一、复制 可以复制文字、图片到系统剪贴板,图片最好将QImage格式复制到剪贴板,QPixmap要比QImage慢,因为QPixmap需要首先转换为QImage格式。 QClipboard *clipboard = QApplication::clipboard(); //1. clipboard->setImage(image); //2. clipboard->setPixmap(...

guorong520的博客 5165

python3+PyQt5实现使用剪贴板做复制与粘帖

本文是对《Python Qt GUI快速编程》的第10章的例子剪贴板用Python3+PyQt5进行改写,分别对文本,图片和html文本的复制与粘帖,三种做法大同小异。

xiaoyangyang20的博客 9188

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

很多软件都支持从剪切板里粘贴图片、文字数据到指定位置,比如:QQ、微信可以直接从剪切板粘贴图片、文字进行发送消息。这个功能QT里实现也很方便,接口QT都提供了。

5160

Qt 复制文件到剪贴板

复制文件到剪贴板: paths表示将要粘贴到剪贴版的文件的路径 void copyFilesToClipboard(const QStringList &paths) {     //  Get clipboard     QClipboard *cb = QApplication::clipboard();     // Ownership of the new da

penghuilater的博客 2688

Qt实现复制文件内容到剪贴板(附完整源码)

Qt实现复制文件内容到剪贴板(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 731

Qt 如何访问剪贴板内容

在Qt中,访问剪贴板内容通常涉及到 QClipboard 类。QClipboard类提供了对剪贴板的访问,允许你复制和粘贴文本、图像等数据。

天恩软件工作室 1465

【QT开发】剪贴板管理QClipboard 类详解及实战应用

QClipboard 是 Qt 访问和操作系统剪贴板的强大工具,能够方便地实现复制和粘贴功能。通过本文的详细介绍,您应对 QClipboard 的基本使用、高级应用技巧及相关注意事项有了全面的理解。在实际项目中,QClipboard 可以帮助实现文本、图像等内容的高效复制和粘贴,希望本文能帮助您更好地理解和使用 QClipboard,在各种场景中实现高效的剪贴板交互。

科技改变人类,技术成就未来 2013

Qt5.15实现获取剪贴板中的截图及文本

经常需要截图的小伙伴们都知道,Ctrl+shift+X,Ctrl+Alt+A,这几个快捷键就是最常用的浏览器截图快捷键了,只要你打开360浏览器,或者登录了QQ,就可以使用,那么截图之后,双击鼠标左键,图片就会暂存在系统的剪贴板中,系统的剪贴板是一个多种数据类型的容器,就像QVariant一样,啥都能放,作为系统上各个应用程序共享的存储容器,所以整个系统也就只有一个,通过QApplication::clipboard()来获取,通过QClipboard类来管理,当然了,其他语言如python,C#,java

有问题或资源连接有缺失的可以私信公众号新潮看世界获取 1158

QT5 剪贴板操作

软件环境: QT5.8 系统: win10 用法非常简单,包含头文件,获取粘贴板对象操作就行了。 #include <QClipboard> //包含头文件 1. 复制文本、设置文本 QClipboard *clipboard = QApplication::clipboard(); //获取系统剪贴板指针 clipboard->text()...

fangye945a的博客 1133

SAP License:SAP会计凭证抬头的字段状态控制

FI模块的同事一般都知道在FI中有个字段状态变式,可以控制在凭证输入时哪些字段是必输、哪些可选哪些隐藏,但这只对凭证行项目中有效,你是否想过对于凭证抬头的字段是哪控制呢? 在中国,会计附件上都要带一个附件张数字段,但SAP的默认配置中没有这一字段,并非SAP没有设置此字段,而是我们没有配置这一字段。如果需要在凭证输入时放出分支号(BRNCH)、附件页数(NUMPG)等字段,在个人参数文件中加入参数CSF,参数值AR,即可。如下图: 实际上,这是对凭证国家的一个设置,在SAP中,配置了AR这个国家..

SAP权限管控|SAP用户权限管理|SAP权限合规检查|SAP全日志管理 2221

qt复制文本到qtcreator报错,怎么解决

【代码】qt复制文本到qtcreator报错,怎么解决。

weixin_44317873的博客 903

Shopee商品详情页反爬实战:手把手逆向x-sap-Ri和x-sap-Sec参数(附完整调试过程)

本文详细解析了Shopee商品详情页反爬机制中的x-sap-Ri和x-sap-Sec参数逆向过程。通过JS逆向技术,从环境数据采集到多层哈希运算,完整拆解了这两个关键参数的生成逻辑,并提供了实战技巧和Node.js实现方案,帮助开发者应对Shopee的动态加密挑战。

weixin_33701251的博客 1596

Python调用Google Trends官方数据接口实战指南

Google Trends作为全球最权威的搜索热度分析工具,其数据本质是公开、结构化、可编程访问的时序指标,而非需爬取的网页内容。其底层基于标准HTTP协议与JSON API交互,核心原理在于复现用户浏览器行为——通过/explore接口获取token,再凭token请求/widgetdata/multiline等端点获取归一化(0-100)时间序列数据。该技术路径规避了Selenium渲染依赖与非官方库的脆弱性,具备高稳定性、易调试、可监控等工程优势,广泛应用于竞品监测、内容选题验证、地域营销策略制定等业

weixin_29789925的博客 418

Qt QClipboard 粘贴复制功能学习

粘贴板,这个词相信大家都比较熟悉,比如使用offiece的时候就会有粘贴板,文本编辑的时候Ctrl+C和Ctrl+V的使用,其实也是使用到了粘贴板,在往细了说,从一个文本文件中复制一段内容到另一文本文件,这也使用到了粘贴板,而这也是粘贴板的一个功能,这其实实现了进程间的通信,顺道说明一下:粘贴板是由操作系统维护的。 //获取系统剪贴板指针 QClipboard *clipboard =...

weixin_38293850的博客 3114

AR1020触摸控制器驱动开发:嵌入式I²C/SPI底层集成指南

电容式触摸控制器是现代嵌入式人机交互(HMI)系统的核心感知单元,其工作原理基于寄生电容变化检测与数字信号处理。Microchip AR1020 作为典型单芯片方案,内置硬件滤波、多点跟踪与手势识别引擎,通过I²C或SPI接口输出结构化事件数据,显著降低主控MCU负载。该类器件的技术价值在于平衡精度、功耗与实时性,广泛应用于工业HMI、医疗设备及车载终端等对可靠性要求严苛的场景。本文聚焦AR1020的寄存器映射、中断驱动模型、坐标解析机制及在STM32平台的HAL/LL级工程实现,涵盖硬件时序约束、固件配置

weixin_29323977的博客 600

Qt监听剪贴板实现自动修改内容

由于某种原因,需要实现这个功能:监听系统的剪贴板,当用户发生文字复制时,将复制的内容里面的换行符‘\n’,换成制表符‘\t’。 需求好像很简单,逻辑也好像很简单,而且Qt也提供了QClipBoard,而且也有了dataChanged这个信号,一切好像水到渠成。但是实际在实现过程中还是遇到了一些坑,后面详细列出来,先上能够正确使用的代码。 代码如下: QClipboard *board = QGuiApplication::clipboard(); connect(board, &QClipb

joyopirate的博客 2489

Innovus Function ECO实战:5步搞定数字后端设计中的网表修正(含Calibre LVS验证技巧)

本文提供了一份完整的Innovus Function ECO实战指南,详细解析了数字后端设计中网表修正的五步流程。从理解Function ECO概念、准备关键文件,到在Innovus中执行逻辑比对、自动布线及GUI检查,并重点攻克了ECO后Calibre LVS验证的难点与调试技巧,帮助工程师高效、精准地完成流片前的设计微调。

day7的博客 947

关于112G和56G PAM4信号的有效回损(ERL)

本文探讨了回波损耗(RL)对高速数字通信系统性能的影响,重点分析了时域信道运行裕度(COM)与频域回波损耗指标的关联性。研究表明,传统频域回波损耗指标在预测系统性能时存在假阳性/假阴性问题,特别是对PAM-4信号系统影响更为显著。通过引入基于时域脉冲响应的有效回波损耗(ERL)指标,并结合判决反馈均衡器(DFE)的补偿效应,可更准确评估系统性能。实验表明,短封装器件虽然频域回波损耗较差,但在实际系统中表现更优。研究提出通过时域门控加权等方法优化ERL计算,为高速互连设计提供了更可靠的性能评估框架。

小孟同学的博客 290

Qt剪贴板

在Qt中使用剪贴板技术是非常简单的,直接使用QClipboard类就可以存取窗口系统的剪贴板。在Qt中是使用QMimeData类来表示剪贴板交换的数据,将一些常用的数据存入到剪贴板可以使用setText(),setImage()和setPixmap()函数。相对应的取数据可以使用text(),image()和pixmap()函数。   下面,通过一个简单的例子来说明这一点。从QWidget继

qq_33663749的博客 827

Vue3 + 高德地图实现车辆电子围栏监控与报警

通过本文的实现,我们完成了一个通用的车辆电子围栏监控功能:支持多种围栏类型。支持进入/离开/双向报警。使用缓存机制避免重复告警。可与Vue3 + 高德地图无缝集成。在实际项目中,可以结合WebSocket 实时定位,实现车辆的实时监控 + 围栏告警系统🚀。

专注于前端开发与实战技巧,记录从零到一的学习与项目经验。分享 Vue3 / JavaScript / TypeScript / Flutter /Uniapp等前端技术,以及 性能优化、工程化、最佳实践。 1033

复制粘贴——QT实现原理

qt的剪贴板底层是由各个平台的剪贴板接口驱动的,如果是X11平台,那么整个剪贴板就是X11接口驱动的。

czw 1626

点云语义分割:使用Cylinder3D训练SemanticKITTI数据集

将该路径修改到config/semanticktti.yaml文件中的data_path节点下。下载semanticKITTI数据集的点云数据和标签,解压到一起。系统:Ubuntu18。

zhaoguanhua的博客 2595

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

QML实现图片拖入拖出、剪贴板复制粘贴

QML 中提供了DropArea 类型来处理拖放,使用containsDrag 属性判断是否有拖拽动作,使用 dropped(DragEvent drop) 信号处理拖拽的释放动作,此信号带一个DragEvent 参数,可以从中获取拖放的内容。如果拖放的是文件,可以通过DragEvent 的 urls 属性取文件路径列表,再将路径设置给 Image source。

龚建波 4039

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: Qt实现 QLabel显示文本与图片、动图
下一篇: 批处理之bat脚本分段读取文件内容
Qt上位机开发
Qt上位机开发 领域专家: C/C++技术领域 领域专家: C/C++技术领域
博客等级 码龄9年 9664粉丝 178原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值