QT Android QTextEdit 复制粘贴文本后出现多余数据问题
目录
- 问题
- 原因
- 解决方法
问题
QT Android QTextEdit 长按选中文本后,点击复制,然后粘贴到手机便签或者QQ中,出现多余数据
例如,要复制的文本为
只因你太美
但实际在便签中粘贴后的文本为
只因你太美
p, li { white-space: pre-wrap; } hr { height: 1px; border-width: 0; }
只因你太美
多了一串类似于HTML的文本信息,很奇怪。并且在WINDOWS系统下QTextEdit复制粘贴并不存在这种问题。更奇怪的是我打开小米手机自带的搜狗输入法的剪切板,然后点击刚选中的内容粘贴,发现并不存在这种问题。
只在长按选中,长按粘贴后会出现这个问题。但是我又粘贴到微信的搜索框,发现是正常的。
原因
经过查询分析发现。QTextEdit 有一个成员函数
virtual QMimeData *createMimeDataFromSelection() const;
这个成员函数会在长按文本复制、剪切的时候调用。QMimeData 内存放着要复制到剪切板的内容。我们继承QTextEdit类,然后在派生类中重新实现这个virtual QMimeData *createMimeDataFromSelection() const;虚函数,
QMimeData* CTextBrowser::createMimeDataFromSelection() const
{printf("createMimeDataFromSelection enter!\n");QMimeData *pMime = QTextEdit::createMimeDataFromSelection();printf("pMime text:%s!\n", pMime->text().toStdString().c_str());printf("pMime html:%s!\n", pMime->html().toStdString().c_str());return pMime;
}
打印出QMimeData 中的text和HTML数据,发现pMime->text()和pMime->html()中都有数据。所以推测,多余的数据应该来源于pMime->html()中。所以我们只要把pMime->html()中的数据清空,应该就可以了。
解决方法
QMimeData* CTextBrowser::createMimeDataFromSelection() const
{printf("createMimeDataFromSelection enter!\n");QMimeData *pMime = QTextEdit::createMimeDataFromSelection();QMimeData *pNewMimeData = new QMimeData;pNewMimeData->setText(pMime->text());delete pMime;return pNewMimeData;
}
这样修改就可了。
网上查了半天,发现没有相关问题的帖子,所以来分享一下。
相关文章:
QT Android QTextEdit 复制粘贴文本后出现多余数据问题
目录 问题原因解决方法 问题 QT Android QTextEdit 长按选中文本后,点击复制,然后粘贴到手机便签或者QQ中,出现多余数据 例如,要复制的文本为 只因你太美 但实际在便签中粘贴后的文本为 只因你太美 p, li { white-space: pre-wra…...
知识变现海哥:你为什么努力却不富有,大概率是你不懂这个道理
要有价值观念,要有交换思维。商业的本质都是基于价值交换,你能为别人提供多少价值,你就能赚多少米,你帮助别人处理的问题越多你越有价值,你能成就多少人你就能被多少人成就。这是商业行为的底层逻辑。 你没赚到米 一是…...
【Mybatis】增删改查
1.添加相应的jar包 2.创建持久化类 在src目录下创建一个名为com.mybatis.po的包 创建持久化类MyUser,包含三个属性(uid,uname,usex) package com.mybatis.po; /***springtest数据库中user表的持久化类*/ public class MyUser {private Integer uid;//主键private…...
20230504----重返学习-vue2项目-跳转拦截-重定向并返回前一页-使用vuex调用接口-全选与全不选-总价计算
day-061-sixty-one-20230504-vue2项目-跳转拦截-重定向并返回前一页-使用vuex调用接口-全选与全不选-总价计算 vue2项目 跳转拦截 设置跳转拦截,比如在用户没token时,不能进入具体详情页,而是进入登录页进行登录。 跳转拦截具体思路 前端…...
(异或相消)猫猫数字异或和
E - Red Scarf (atcoder.jp) 刚入坑写的一道题被我拉出来对比分析了 我的思路: 垃圾运气选手凭借直觉乱搞猜出来的,没有思路。 题解思路: 由问题陈述中XOR的定义,我们可以看出计算3个或更多整数的XOR可以以任意顺序进行&#…...
树脂塞孔有哪些优缺点及应用?
树脂塞孔的概述 树脂塞孔就是利用导电或者非导电树脂,通过印刷,利用一切可能的方式,在机械通孔、机械盲埋孔等各种类型的孔内进行填充,实现塞孔的目的。 树脂塞孔的目的 1 树脂填充各种盲埋孔之后,利于层压的真空下…...
【Robot Framework】RF关键字大全
收录工作当中最常用的Robot Framework关键字 内容较多,可以CtrlF快速搜索自己想要的 1. RF循环使用(FOR循环) {list1} create list LOG TXT INI INF C CPP JAVA JS CSS LRC H ASM S ASP FOR ${file_type} IN {list1} log 构造请求参数 ${t…...
Xilinx Artix-7【XC7A35T-2CSG324I】【XC7A35T-1CSG324I】成本与收发器优化的FPGA器件
产品介绍: Xilinx Artix -7系列 FPGA 重新定义了成本敏感型解决方案,功耗比上一代产品降低了一半,同时为高带宽应用提供一流的收发器和信号处理能力。这些设备基于 28 纳米 HPL 工艺构建,提供一流的性能功耗比。与 MicroBlaze™ 软…...
K8S之自定义Controller
简介 在此之前我们先来了解下kubernetes的两个概念"声明式API"和"控制器模式"。"声明式API"核心原理就是当用户向kubernetes提交了一个API对象的描述后,Kubernetes会负责为你保证整个集群里各项资源的状态,都与你的API对象…...
无线电相关的SCI期刊有哪些? - 易智编译EaseEditing
以下是几个无线电相关的SCI期刊: IEEE Transactions on Wireless Communications: 这是一个IEEE无线通信协会的期刊,主要涵盖了无线通信领域的最新研究进展,包括无线网络,通信系统和信号处理等方面。 IEEE Transacti…...
Rust - 结构体基本使用
基础代码示例 为了理解何时需要使用结构体,官方文档给了一个案例,就是计算长方形的面积,这里我们会一步一步的重构代码直到使用结构体为止。 计算长方形的面积的具体逻辑就是获取长方形的宽度和高度,然后通过公式计算出长方形的…...
29. Kubernetes 核心组件讲解——Controller Manager
本章讲解知识点 Controller Manager 概述Replication ControllerNode ControllerResourceQuota ControllerNamespace ControllerService Controller 与 Endpoint Controller1. Controller Manager 概述 1.1 基本概念 一般来说,智能系统和自动系统通常会通过一个“操作系统”…...
BetaFlight统一硬件配置文件研读之feature命令
BetaFlight统一硬件配置文件研读之feature命令 1. 源由2. 代码分析3. 实例分析4. 配置情况4.1 feature4.2 feature list4.3 feature feature_name4.4 feature -feature_name 5. 参考资料 统一硬件配置文件的设计是一种非常好的设计模式,可以将硬件和软件的工作进行解…...
ChatGPT 不好用?那你看下这份 Prompt 工程指南
作为大型语言模型接口,ChatGPT 生成的响应令人刮目相看,然而,解锁其真正威力的关键还是在于提示工程。 在本文中,我们将揭示制作提示的专家级技巧,以生成更准确、更有意义的响应。无论你使用 ChatGPT 是为了服务客户、…...
冲浪杂记——
华为od是指什么? 华为OD(Open Developer Platform)是华为面向全球开发者推出的开放平台,旨在为开发者提供丰富的技术资源和开发工具,支持开发者快速构建基于华为技术的应用程序、解决方案和服务。华为OD平台为开发者提…...
深入理解Python中的进程与线程
前言 今天我们使用的计算机早已进入多CPU或多核时代,而我们使用的操作系统都是支持“多任务”的操作系统,这使得我们可以同时运行多个程序,也可以将一个程序分解为若干个相对独立的子任务,让多个子任务并发的执行,从而…...
Data retry场景介绍
本文介绍PDN激活失败或者IP Address缺失时的处理机制。 终端是否会retry? 如何设置data retry timer? Modem retry还是上层应用发起retry? IPV4V6 Fallback 3GPP TS 24.008 6.1.3.1定义了UE使用IPV4V6 pdp type建PDN失败后,如果网络以#Cause50、#Cause51或者#Cause52 …...
lua | 数组与迭代器的使用
目录 一、数组 一维数组 多维数组 二、迭代器 泛型for迭代器 无状态的迭代器 多状态的迭代器 本文章为笔者学习分享 学习网站:Lua 基本语法 | 菜鸟教程 一、数组 数组:相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数…...
【云原生】云原生服务网格流量控制思考
文章目录 前言一、什么是流量控制?二、存在三种场景三、场景分析 前言 随着云原生技术的不断发展及应用,很多服务都已部署上云。 保障云上环境的稳定是重要的一环。 一个重要的影响稳定的场景就是突发大流量冲击。 面对该场景,较好的应对…...
《数据库的嵌套查询和统计查询》
选择Study数据库,用SQL语句进行以下查询操作。 1.嵌套查询 ①求选修了数据结构的学生学号和成绩。 SELECT Sno, grade FROM sc WHERE Cno 007;②求007课程的成绩高于于文轩的学生学号和成绩。 SELECT Sno, grade FROM sc WHERE Cno 007 AND grade …...
BMN31K522 UART雾化控制协议深度解析与跨平台移植
1. BMN31K522 原子化雾化适配器模块:嵌入式UART控制全解析BMN31K522 是由 Flextron 公司推出的专用原子化雾化适配器模块,面向工业加湿、农业喷雾、实验室气溶胶生成及医疗雾化等场景设计。该模块不直接驱动压电陶瓷或超声换能器,而是作为智能…...
LeRobot框架深度解析:3个核心模块实现机器人学习的PyTorch统一解决方案
LeRobot框架深度解析:3个核心模块实现机器人学习的PyTorch统一解决方案 【免费下载链接】lerobot 🤗 LeRobot: State-of-the-art Machine Learning for Real-World Robotics in Pytorch 项目地址: https://gitcode.com/GitHub_Trending/le/lerobot …...
AI辅助开发实战:基于CosyVoice和LeeZhao的智能代码生成优化
在AI辅助开发的浪潮中,我们这些开发者既兴奋又头疼。兴奋的是,动动嘴皮子或者写几句描述,AI就能帮我们生成代码框架,大大提升了效率。头疼的是,生成的代码常常“驴唇不对马嘴”,要么上下文理解跑偏…...
FFmpeg 全链路中间件深度分析
一、开源代码目录文件树形分析1.1 FFmpeg 源码整体架构树FFmpeg ├── configure # 配置脚本(生成config.h/config.mak) ├── Makefile # 顶层Makefile ├── Changelog # 版本变更…...
SUPER COLORIZER 数据库集成实践:MySQL管理海量图像处理任务与结果
SUPER COLORIZER 数据库集成实践:MySQL管理海量图像处理任务与结果 如果你正在管理一个需要批量处理成千上万张图片的项目,比如给老照片上色、统一调整产品图风格,或者为电商平台批量生成不同尺寸的图片,那你肯定遇到过这样的烦恼…...
AI 模型精度与性能的权衡
AI模型精度与性能的权衡:寻找最佳平衡点 在人工智能领域,模型的精度与性能往往是一对矛盾体。精度代表模型预测的准确性,而性能则涉及计算速度、资源占用和实时性等指标。开发者常常需要在两者之间做出权衡,以满足不同场景的需求…...
工业自动化必备:Kepware+UaExpert实现OPC UA通信的5个关键步骤与常见问题解决
工业自动化实战:Kepware与UaExpert的OPC UA通信全流程解析 在工业4.0时代,设备间的无缝通信已成为智能制造的基础能力。作为工业自动化领域的黄金标准,OPC UA协议凭借其跨平台、高安全性等特性,正在取代传统OPC DA成为工厂数据交互…...
新手必看:用快马AI生成HTML链接代码示例,轻松掌握网页跳转
今天想和大家分享一个特别适合新手入门HTML链接标签的小技巧。作为一个刚接触前端开发的小白,我发现理解各种链接的写法其实并不难,关键是要有直观的示例和实时反馈。最近在InsCode(快马)平台上尝试用AI生成代码,发现它特别适合用来学习基础H…...
Qwen3-0.6B-FP8部署与Git工作流结合:AI代码审查助手
Qwen3-0.6B-FP8部署与Git工作流结合:AI代码审查助手 你有没有遇到过这种情况?团队里新来的小伙伴提交了一段代码,语法上挑不出大毛病,但总觉得逻辑有点绕,或者命名风格不太统一。你作为资深开发,想提点建议…...
屏幕水印是什么?有啥用?如何设置屏幕水印?「干货图文教程」
屏幕水印是什么?屏幕水印,就是在电脑屏幕上显示的文字、图案或标志,就像在纸上盖章一样,但它出现在你的屏幕上。它可以帮助你在处理敏感信息时,增加一层额外的安全保护。屏幕水印有啥用?屏幕水印在企业信息…...
