c++ qt 模态框和阻拦器 优先级 问题 修复 已解决

                

在c++项目中。有 加载动画 和 模态框提醒的功能, 导致发生一个问题,有提示框的时候,动画也停止,必须点击 按钮 所有代码才能有效。

        

解决办法

        谨慎使用 deleteLater,因为和模态框拦截有冲突, 使用 隐藏 或者 删除指针。

        deleteLater 使用逻辑是 走的事件删除,但是需要中,早已把事件 拦截导致无法关闭动画,

感谢同事,基础知识扎实,一起帮忙解决问题,一个是事件和队列 配合删除 一个是 直接摧毁。

void xxxxxxxx::removeUseCount()
{if (s_pLoadIndicator == nullptr){return;}else{int iUseCount = xxxxxxxx->useCountDecrease();if (iUseCount <= 0){s_pLoadIndicator->deleteLater();s_pLoadIndicator = nullptr;}}
}void xxxxxxxx::removeUseDelete()
{if (s_pLoadIndicator == nullptr){return;}else{int iUseCount = xxxxxxxx->useCountDecrease();if (iUseCount <= 0){delete s_pLoadIndicator;s_pLoadIndicator = nullptr;}}
}

        Qt5 -- 超好用的"deleteLater()" - 知乎

        QT delete和deletelater的区别-CSDN博客

答案在文档中

      

计划删除此对象。

        当控件返回到事件循环时,对象将被删除。如果调用此函数时事件循环未运行(例如,在QCoreApplication::exec()之前对对象调用deleteLater()),则一旦事件循环启动,该对象将被删除。如果在主事件循环停止后调用deleteLater(),则不会删除该对象。自Qt 4.8以来,如果在没有运行事件循环的线程中调用deleteLater()对象,则该对象将在线程结束时被销毁。

        请注意,进入和离开新的事件循环(例如,通过打开模式对话框)将不会执行延迟删除;对于要删除的对象,控件必须返回到调用deleteLater()的事件循环。这不适用于在上一个嵌套事件循环仍在运行时删除的对象:新的嵌套事件循环一开始,Qt事件循环就会删除这些对象。

衍生出来的问题, 线程和安全的问题

Java并发-线程与进程、线程安全、锁、阻塞队列详解,看这一篇就够了_java 进程锁-CSDN博客

PHP开发中如何优化并发操作和线程安全-php教程-PHP中文网

参考分析

        qt事件循环阻塞机制分析_使用阻塞的exec调用 qt-CSDN博客

        Qt互斥锁(QMutex)的使用、QMutexLocker的使用(含源码+注释) - 知乎

        Qt消息循环与模态对话框和线程关系整理_qdialog能接受主线程-CSDN博客

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

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

相关文章

融资项目——vue之双向数据绑定

上一篇文章中使用的v-bind是单向绑定方法&#xff0c;即数据改变&#xff0c;网页相应的视图发生改变&#xff0c;但是网页视图发生改变其相关联的数据不会发生改变。但是双向数据绑定不同之处在于网页视图发生改变其相关联的数据也会发生改变。Vue可以使用v-model进行双向数据…

振动试验的工装夹具(GB/T 2423.43-2008)

但当试件体积较大&#xff0c;而且形状复杂时&#xff0c;这种固定方法显然很困难&#xff0c;这时需要制作夹具&#xff0c;让试件安装在夹具上然后把夹具牢固地固定在振动台面上&#xff0c;因此实际上夹具是试件与振动台面连接的过渡体&#xff0c;其功能是将振动台的振动和…

实在智能成功完成近2亿元C轮融资,全面迎接2024年Agent智能体应用元年

在这个最冷的季节&#xff0c;杭州实在智能科技有限公司&#xff08;以下简称“实在智能”&#xff09;依然表现火爆&#xff0c;近日&#xff0c;实在智能成功完成C轮融资近2亿元人民币&#xff0c;由金泰富资本和安吉智慧谷共同领投、安吉两山国创跟投。 在此轮融资以前&…

数据结构 | 北京大学期末试卷查漏补缺

目录 顺序存储 优点 缺点 适用于&#xff1a; 链式存储 优点 缺点 适用于&#xff1a; 折半查找为什么要使用顺序存储结构 树的存储结构​编辑 对于一个数据结构&#xff0c;一般包括 DFS&BFS 什么是递归程序 C语言不带头结点的单链表逆置 检测字符…

DMA实验3-外设到内存搬运

实验要求 使用 DMA 的方式将串口接收缓存寄存器的值搬运到内存中&#xff0c;同时闪烁 LED1 。 CubeMX 配置 DMA 配置&#xff1a; 串口中断配置 代码实现 如何判断串口接收是否完成&#xff1f;如何知道串口收到数据的长度&#xff1f; 使用串口空闲中断&#xff08;IDL…

python:删除空白

删除字符串末尾的空白 例如&#xff0c;下面的代码&#xff0c;变量hobby指向的字符串在末尾有一个空格&#xff1a; 可以使用函数rstrip()删除字符串末尾的空格&#xff0c;如下&#xff1a; 因为删除字符串末尾的空格并没有赋值给原变量hobby&#xff0c;所以此时查看hobb…

排障启示录-无线终端信号弱

现象&#xff1a;无线终端显示信号弱 信息收集&#xff1a; AP的实际发射功率低。外置天线型AP&#xff0c;天线松动或者没插天线现场环境问题&#xff0c;信号穿透衰减终端接入远端AP终端个体问题 排查步骤&#xff1a; 1、AP的发射功率低 查看AP的射频功率&#xff0c;判…

KnowLM知识抽取大模型

文章目录 KnowLM项目介绍KnowLM项目的动机ChatGPT存在的问题 基于LLama的知识抽取的智析大模型数据集构建及训练过程预训练数据集构建预训练训练过程指令微调数据集构建 指令微调训练过程开源的数据集及模型局限性信息抽取Prompt 部署环境配置模型下载预训练模型使用LoRA模型使…

解释Keil-MDK中Code、RO-data、RW-data、ZI-data

一、概念 Code&#xff1a;即代码域&#xff0c;它通常是指编译器生成的机器指令&#xff0c;这些内容会被存储到ROM区。 RO-data&#xff1a;Read Only data&#xff0c;即只读数据域&#xff0c;它指程序中用到的只读数据&#xff0c;这些数据被存储在ROM区&#xff0c;因而…

制作系统盘

老毛桃&#xff08;LaoMaoTao&#xff09; 制作启动盘 第一步.进入官方网站下载我们的老毛桃 下载老毛桃U盘制作工具后&#xff0c;双击打开老毛桃的运行程序。 打开老毛桃U盘制作工具&#xff0c;插入需要制作的U盘&#xff08;如图所示U盘winpe系统制作界面&#xff09;。…

两种经典的现货白银假突破类型

假突破是现货白银市场中一种具有反大众性的市场行为。它通常和一种强势的市场行为突破联系在一起&#xff0c;但是它的方向是和突破完全相反的&#xff0c;识别假突破的类型&#xff0c;有助于降低我们亏损的风险&#xff0c;那如何识别呢&#xff1f;下面我们来介绍两种假突破…

逻辑斯蒂回归-建模概率计算(鸢尾花)

导入的数据说明 因为气候不同&#xff0c;造就性不同&#xff0c;统计鸢尾花的关键特征数据&#xff1a;花萼长度、花萼宽度、花瓣长度&#xff0c;花瓣宽度 植物学家划分&#xff1a; setosa(中文名&#xff1a;山鸢尾) versicolor(中文名&#xff1a;杂色鸢尾) virginica(中…