当前位置: 首页 > news >正文

QT QDialog::exec()调用时清除部件所有焦点

最近在做项目时,遇到一个问题:在统信UOS系统编写的QT程序,其中进入某些页面时,或者显示模态窗时,按钮都会有一个焦点框,这个是不允许的,于是乎,开始了清理焦点的旅途。

一、清理QDialog::exec()调用时的所有焦点

可以看到,“确定”按钮确实有个黑色的方框,这个就是焦点框,即当前窗口的焦点落到了“确定”按钮上。(注意,这个是自定义类继承自QDialog,自己实现的模态)

如果需要解决此问题,可以使用 事件过滤器 ,当监听到窗口部件有焦点时,取消之。

注意,此方法必须自定义类继承自QDialog,否则无法实现。

第一步:继承自QDialog

class MyDialog : public QDialog {}

第二步:重新实现 事件过滤器

bool eventFilter(QObject *obj, QEvent *event) override {// 省略一万行代码...
}

第三步:为部件安装事件过滤器

widget->installEventFilter(this);

代码实现:

#include <QDialog>
#include <QEvent>
#include <QWidget>
#include <QApplication>class MyDialog : public QDialog {Q_OBJECTpublic:MyDialog(QWidget *parent = nullptr) : QDialog(parent) {/// 为对话框中的所有子部件安装事件过滤器foreach (QWidget *widget, this->findChildren<QWidget*>()) {widget->installEventFilter(this);}}protected:// 重载事件过滤器bool eventFilter(QObject *obj, QEvent *event) override {/// 当部件获得焦点时,清除焦点if (event->type() == QEvent::FocusIn) {QWidget *widget = qobject_cast<QWidget*>(obj);if (widget) {widget->clearFocus();  // 清除焦点}}/// 继续处理其他事件return QDialog::eventFilter(obj, event);}
};// 主函数
int main(int argc, char *argv[]) {QApplication app(argc, argv);MyDialog dialog;dialog.exec();  // 执行对话框return app.exec();
}

到此,问题已解决!

二、清除所有部件及子部件的焦点

问题也是与第一点一致,按钮上有焦点时会显示一个黑色的焦点框。

解决代码:

// 清除部件即所有子部件的焦点
void clearFocusForAllChildren(QWidget *widget)
{if (nullptr == widget) {return;}// 获得当前部件的所有子部件QList<QWidget*> children = widget->findChildren<QWidget*>();for (QWidget* child : children) {if (child) {child->clearFocus();}clearFocusForAllChildren(child); // 递归调用}
}

完!

相关文章:

QT QDialog::exec()调用时清除部件所有焦点

最近在做项目时&#xff0c;遇到一个问题&#xff1a;在统信UOS系统编写的QT程序&#xff0c;其中进入某些页面时&#xff0c;或者显示模态窗时&#xff0c;按钮都会有一个焦点框&#xff0c;这个是不允许的&#xff0c;于是乎&#xff0c;开始了清理焦点的旅途。 一、清理QDia…...

uni-app @click.stop @click.stop.native均不生效

原因就是用了nvue导致的 vue等其他环境都可以 解决&#xff1a;e.stopPropagation() click"goExecute($event)" goExecute(e) {e.stopPropagation()}, uniApp官方真的是一坨大翔&#xff0c;不仅社区不维护&#xff0c;文档也写的跟粑粑一样&#xff0c;自创的nv…...

数据可视化工具深入学习:Seaborn 与 Plotly 的详细教程

数据可视化工具深入学习&#xff1a;Seaborn 与 Plotly 的详细教程 数据可视化是数据分析中不可或缺的一部分&#xff0c;能够有效地帮助我们理解数据、发现模式和传达信息。在众多可视化工具中&#xff0c;Seaborn 和 Plotly 是两个非常流行且强大的库。本文将深入探讨这两个…...

camera和lidar外参标定

雷达和相机的外参标定&#xff08;外部参数标定&#xff09;指的是确定两者之间的旋转和平移关系&#xff0c;使得它们的坐标系可以对齐。 文章目录 无目标标定livox_camera_calibdirect_visual_lidar_calibration 有目标标定velo2cam_calibration 无目标标定 livox_camera_ca…...

Redis慢查询分析优化

文章目录 一、定义二、慢查询参数配置三、慢查询日志四、排查步骤五、Redis变慢原因 一、定义 在Redis执行时耗时超过某个阈值的命令&#xff0c;称为慢查询。 慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间&…...

ETL处理全流程

ETL代表提取Extraction、转换Transform、加载Load——这个过程涉及从各种来源提取数据&#xff0c;将其转换为一致的格式&#xff0c;并将其加载到目标数据库或数据仓库中。这是数据集成和分析的一个重要步骤&#xff0c;因为它确保数据准确、可靠&#xff0c;并准备好进一步处…...

美畅物联丨掌握Wireshark:GB28181协议报文分析实战指南

Wireshark&#xff0c;一款在网络安全与协议分析领域享有盛誉的网络嗅探器&#xff0c;凭借其强大的功能集、直观的图形用户界面以及广泛的跨平台兼容性&#xff0c;已成为众多开发者不可或缺的得力助手。其开源特性吸引了大量开发者的积极参与&#xff0c;不断推动其功能的完善…...

【python】OpenCV—WaterShed Algorithm

文章目录 1、功能描述2、代码实现3、完整代码4、效果展示5、涉及到的库函数5.1、cv2.pyrMeanShiftFiltering5.2、cv2.morphologyEx5.3、cv2.distanceTransform5.4、cv2.normalize5.5、cv2.watershed 6、更多例子7、参考 1、功能描述 基于分水岭算法对图片进行分割 分水岭分割…...

CSS flex布局- 最后一个元素占满剩余可用高度转载

效果图 技术要点 height父元素必须有一个设定的高度flex-grow: 1 flex 盒子模型内的该元素将会占据父容器中剩余的空间F12检查最后一行的元素&#xff0c;高度就已经改变了&#xff1b;...

Camp4-L1:XTuner 微调个人小助手认知

书生浦语大模型实战营第四期-XTuner 微调个人小助手认知 教程链接&#xff1a;https://github.com/InternLM/Tutorial/blob/camp4/docs/L1/XTuner/README.md任务链接&#xff1a;https://github.com/InternLM/Tutorial/blob/camp4/docs/L1/XTuner/task.md提交链接&#xff1a;…...

Qt:语言家视图

1.一不小心将qt语言家点成这样 2.点击查看->视图 3.效果...

【Paper Note】利用Boundary-aware Attention边界感知注意力机制增强部分伪造音频定位

利用Boundary-aware Attention边界感知注意力机制增强部分伪造音频定位 摘要核心模块什么是边界&#xff1f;什么是边界特征&#xff1f; 写作背景解决的问题 方法1. 特征提取使用预训练好的自监督学习模型进行前端特征提取Attentive poolingQ&#xff1a;为什么使用Attentive …...

海外共享奶牛牧场投资源码-理财金融源码-基金源码-共享经济源码

新版海外共享奶牛牧场投资源码/理财金融源码/基金源码/共享经济源码...

iOS静态库(.a)及资源文件的生成与使用详解(OC版本)

引言 iOS静态库&#xff08;.a&#xff09;及资源文件的生成与使用详解&#xff08;Swift版本&#xff09;_xcode 合并 .a文件-CSDN博客 在前面的博客中我们已经介绍了关于iOS静态库的生成步骤以及关于资源文件的处理&#xff0c;在本篇博客中我们将会以Objective-C为基础语言…...

Python自动化:关键词密度分析与搜索引擎优化

在数字营销领域&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;是提升网站可见性和吸引有机流量的关键。关键词密度分析作为SEO的一个重要组成部分&#xff0c;可以帮助我们理解特定关键词在网页内容中的分布情况&#xff0c;从而优化网页内容以提高搜索引擎排名。本文将…...

苏州金龙新V系客车创新引领旅游出行未来

10月25日&#xff0c;为期三天的“2024第六届旅游出行大会”在风景秀丽的云南省丽江市落下帷幕。本次大会由中国旅游车船协会主办&#xff0c;全面展示了中国旅游出行行业最新发展动态和发展成就&#xff0c;为旅游行业带来全新发展动力。 在大会期间&#xff0c;备受瞩目的展车…...

linux:DNS服务

DNS简介&#xff1a; DNS系统使用的是网络的查询&#xff0c;那么自然需要有监听的port。DNS使用的是53端口&#xff0c; 在/etc/services&#xff08;搜索domain&#xff09;这个文件中能看到。通常DNS是以UDP这个较快速的数据传输协议来查 询的&#xff0c;但是没有查询到完…...

传奇架设好后创建不了行会,开区时点创建行会没反应的解决办法

传奇架设好后&#xff0c;测试了版本&#xff0c;发现行会创建不了&#xff0c;按道理说一般的版本在创建行会这里不会出错的&#xff0c;因为这是引擎自带的功能。 建立不了行会虽然说问题不大&#xff0c;但也不小&#xff0c;会严重影响玩家的游戏体验&#xff0c;玩游戏为的…...

【小白学机器学习28】 统计学脉络+ 总体+ 随机抽样方法

目录 参考书&#xff0c;学习书 0 统计学知识大致脉络 1 个体---抽样---整体 1.1 关于个体---抽样---整体&#xff0c;这个三段式关系 1.2 要明白&#xff0c;自然界的整体/母体是不可能被全部认识的 1.2.1 不要较真&#xff0c;如果是人为定义的一个整体&#xff0c;是可…...

安全研究 | 不同编程语言中 IP 地址分类的不一致性

作为一名安全研究人员&#xff0c;我分析了不同编程语言中 IP 地址分类 的行为。最近&#xff0c;我注意到一些有趣的不一致性&#xff0c;特别是在循环地址和私有 IP 地址的处理上。在这篇文章中&#xff0c;我将分享我对此问题的观察和见解。 设置 我检查了多种编程语言&am…...

智能体管理平台:从概念到实践,构建高效AI协作系统

1. 项目概述&#xff1a;从“围栏”到“智能体牧场”的构想最近在开源社区里&#xff0c;一个名为llrowat/agent-corral的项目引起了我的注意。初看这个名字&#xff0c;可能会觉得有些抽象——“Corral”在英文里是“畜栏”或“围栏”的意思&#xff0c;而“Agent”则是当下AI…...

使用CGAL构建完美球体网格

在计算机图形学和几何处理中,构建高质量的球体网格(sphere mesh)是许多应用的基础。CGAL(Computational Geometry Algorithms Library)提供了丰富的工具来处理几何问题。本文将详细介绍如何使用CGAL中的SurfaceMesh数据结构来生成一个规则的球体网格,并展示如何通过Loop细…...

YOLO系列语义分割下采样改进:全网首发--使用 HWD 改进 Haar小波下采样 ✨

1. 工程简介 🚀 本工程基于 Ultralytics 框架扩展,面向语义分割与 YOLO 系列模型改进实验。核心特点是通过切换 yaml 配置文件,即可快速完成不同网络结构的训练、对比与验证,无需为每个模型单独编写训练脚本。 当前已支持的主要模型家族 🧩 语义分割模型:UNet、UNet+…...

Matsumiko/runbook:代码化运维手册,实现故障处理自动化与知识沉淀

1. 项目概述&#xff1a;Runbook&#xff0c;运维的“作战手册”在运维和DevOps的世界里&#xff0c;我们每天都在和各种系统、服务、故障打交道。你有没有遇到过这样的场景&#xff1a;凌晨三点&#xff0c;线上服务突然告警&#xff0c;你睡眼惺忪地爬起来&#xff0c;面对复…...

免费解锁WeMod Pro高级功能的终极教程:Wand-Enhancer完整指南

免费解锁WeMod Pro高级功能的终极教程&#xff1a;Wand-Enhancer完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 你是否渴望体验WeMod Pro的全部…...

搞网络安全的,谁还没几个压箱底绝活?可AI来了以后呢?

前两天跟几个同事在路边摊撸串&#xff0c;聊起今年这波AI浪潮&#xff0c;大家伙儿眼里的光明显暗了不少。以前在圈子里混&#xff0c;手里没几个压箱底的绝活儿根本站不住脚。不管是熬大夜脱个壳&#xff0c;还是手工抠那个Payload&#xff0c;那都是实打实的本事。可现在呢&…...

手把手教你用Nginx给NPS管理后台加SSL证书(含免费证书申请与配置全流程)

从零到一&#xff1a;Nginx反向代理为NPS管理后台部署HTTPS全指南 每次登录NPS管理后台时&#xff0c;浏览器地址栏那个刺眼的"不安全"提示总让人心里发毛。作为一款内网穿透工具&#xff0c;NPS的管理界面往往需要暴露在公网&#xff0c;HTTP明文传输就像用明信片传…...

室内儿童淘气堡中海洋球闯关与男生女生向前冲游戏的机制差异、体验比较及教育价值研究

摘要&#xff1a; 在国内室内淘气堡这一主流儿童游乐形态中&#xff0c;海洋球闯关与男生女生向前冲作为两类具有代表性的互动游戏&#xff0c;承载着截然不同的儿童发展功能与社交属性。本文基于2026年全国多个城市淘气堡实地观测与家长访谈数据&#xff0c;系统剖析两类游戏在…...

保姆级教程:用Qt和Python给你的软件加个‘扫码枪’(从模拟到真实设备调试)

从模拟到实战&#xff1a;Qt与Python构建扫码功能的闭环开发指南 扫码功能在现代商业软件中几乎无处不在&#xff0c;从零售POS系统到仓库管理系统&#xff0c;再到医疗设备管理&#xff0c;条形码和二维码的快速输入大大提升了数据录入效率。但扫码功能的开发过程中&#xff0…...

如何用vgmstream-cli批量转换游戏音频文件

如何用vgmstream-cli批量转换游戏音频文件 【免费下载链接】vgmstream vgmstream - A library for playback of various streamed audio formats used in video games. 项目地址: https://gitcode.com/gh_mirrors/vg/vgmstream vgmstream是一个强大的游戏音频播放库&…...