【已解决】QT C++中QLineEdit不可粘贴输入

本博文源于生产实际,主要解决LineEdit不可粘贴输入的情况。下面将进行具体分析

问题来源

输入框只能一个个输入,不可复制粘贴。

分析

给QLineEdit装一个监听事件,监听它的事件即可。

问题解决步骤

问题一共分为三步:

  1. 书写监听事件
  2. 设置linEdit属性
  3. 验证获得结论

1、书写监听事件

监听事件吗,先定义后实现。定义:

bool eventFilter(QObject *obj, QEvent *event);

然后定义它

bool CSingleDeviceInfo::eventFilter(QObject * obj, QEvent * event)
{QLineEdit *pLineEdit = qobject_cast<QLineEdit *>(obj);if (pLineEdit != NULL && pLineEdit == ui->IpAddressLE){if (event->type() == QEvent::MouseButtonDblClick) {//防止全选 ctrl+ areturn true;}else if (event->type() == QEvent::MouseButtonPress) {QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);if (mouseEvent && mouseEvent->button() == Qt::RightButton) //屏蔽右键return true;}else if(event->type() ==  QEvent::KeyPress) {  //键盘事件QKeyEvent *pKeyEvent = static_cast<QKeyEvent*>(event);if (pKeyEvent->matches(QKeySequence::SelectAll)|| pKeyEvent->matches(QKeySequence::Copy)|| pKeyEvent->matches(QKeySequence::Paste))return true;}}return QFrame::eventFilter(obj,event);
}

因为笔者继承的QFrame所以,这里return QFrame

return QFrame::eventFilter(obj,event);

如果继承QObject,那么就只需要把QFrame改成QObject就行了,其余不变。如果这段代码编译不过,这些头文件加上

#include<QKeyEvent>
#include<QEvent>

2、设置lineEdit属性

在这里插入图片描述
设置这个属性,这样可以直接让其不能右键粘贴,这个也要考虑到

3、验证获得结论

结论就是

  1. ctrl +v不能粘贴进去
  2. 右键 不能弹出上下文菜单
  3. ctrl + a也不能选中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/685647.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P8802 [蓝桥杯 2022 国 B] 出差

P8802 [蓝桥杯 2022 国 B] 出差 分析 很明显&#xff1a;单源最短路径 没有负权边 dijkstra 1.存图 2.准备两个数组 dis[]&#xff1a;更新源点到各个点的距离 vis[]&#xff1a;标记是否访问 3.从源点开始&#xff0c;更新源点到与其邻接的点的距离&#xff0c;每次选…

Minio(官方docker版)容器部署时区问题研究记录

文章目录 感慨&概述补充&#xff1a;MINIO_REGION和容器时间的关系 问题一&#xff1a;minio容器和本地容器时间不一致问题说明原因探究解决方法结果验证 问题二&#xff1a;minio修改时间和本地查询结果不一致具体问题原因探究解决办法时间转化工具类调用测试和验证上传文…

etcd单机部署和集群部署

1、etcd单实例部署 对于平常的学习&#xff0c;其实搭建一个单机节点是够了的。接下来就讲讲怎么搭建单机节点。 本次部署是在 centos7 系统&#xff0c;cpu 为amd64 上面进行的。 部署是直接使用官方编译好的二进制文件&#xff0c;大家也可以直接看 ectd-releases 界面选择…

有什么方便实用的黏土特效教程?6个软件教你快速进行特效制作

有什么方便实用的黏土特效教程&#xff1f;6个软件教你快速进行特效制作 作为时尚小达人&#xff0c;你自己是否想要制作出属于自己的黏土特效照片呢&#xff1f;比如下面几种。 看到这些黏土特效软件有没有心动&#xff0c;下面我也为大家详细的介绍一下可以制作出对应特效的…

邻域注意力Transformer

邻域注意力&#xff08;NA&#xff09;&#xff0c;这是第一个高效且可扩展的视觉滑动窗口注意力机制&#xff0c;NA是一种逐像素操作&#xff0c;将自注意力&#xff08;SA&#xff09;定位到最近的相邻像素&#xff0c;因此与SA的二次复杂度相比&#xff0c;具有线性时间和空…

数据库被攻击后出现1044 - access denied for user ‘root‘@‘% ‘ to database table

MySQL数据库被攻击后&#xff0c;数据库全部被删除&#xff0c;并且加一个一个勒索的数据&#xff0c;向我索要btc&#xff0c; 出现这个问题就是我的数据库密码太简单了&#xff0c;弱密码&#xff0c;被破解了&#xff0c;并且把我权限也给修改了 导致我操作数据库时&#…

AI英语口语训练软件有哪些?这4款简单易用

AI英语口语训练软件有哪些&#xff1f;AI英语口语训练软件在现代语言学习中确实扮演着举足轻重的角色。它们凭借先进的智能算法&#xff0c;能够为我们量身定制学习方案&#xff0c;精准识别并纠正发音错误&#xff0c;模拟真实对话场景&#xff0c;使学习过程更加高效、有趣。…

【动态规划】子序列问题

最长上升子序列 题目描述&#xff1a; 解题思路&#xff1a; 核心思路&#xff1a; 用f[i]:表示以第i个数结尾的最大子序列&#xff0c;只需要找到比第i个小的最大子序列再加上1 即可&#xff1b; ----> f[i]max(f[j]1,f[i]); 定义 f[i] 表示以第 i 个元素结尾的最长上升子…

代码随想录算法训练营第36期DAY18

DAY18 二叉树的层序遍历 102二叉树的层序遍历 “队列先进先出&#xff0c;符合一层一层遍历的逻辑&#xff0c;而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。” 二叉树层序遍历模版&#xff1a; /** * Definition for a binary tree node. * struct TreeNode { *…

基于torch_dispatch机制生成Megatron-DeepSpeed调用关系图

基于torch_dispatch机制生成Megatron-DeepSpeed调用关系图 一.局部效果图二.运行训练过程,拦截算子,生成调用关系信息三.可视化,生成SVG图像 想知道Megatron-DeepSpeed训练过程中各模块之间的调用关系。torch_dispatch机制可以拦截算子,inspect又能获取到调用栈(文件,类名,函数…

《引爆流量获客技术》实操方法,手把手教你搭建盈利流量池

[1]-先导课.mp4 [2]-第1节&#xff1a;设计客户终身价值的方法和买客户思维.mp4 [3]-第2节&#xff1a;【渠道模型】解决谁是我的客户如何找到.mp4 [4]-第3节&#xff1a;【诱饵模型】解决 如何获得更多的客户.mp4 [5]-第4节&#xff1a;【钩子模型】解决让目标客户主动找你…

轮式机器人

迄今为止,轮子一般是移动机器人学和人造交通车辆中最流行的运动机构。它可达到很高的效率, 如图所示, 而且用比较简单的机械就可实现它的制作。 另外,在轮式机器人设计中,平衡通常不是一个研究问题。 因为在所有时间里,轮式机器人一般都被设计成在任何时间里所有轮子均与地接…