【Qt】QCoreApplication::processEvents的简单使用

QCoreApplication::processEvents(QEventLoop::AllEvents, 100);

cpp 复制代码
void Widget::on_pushButton_clicked()
{
    qDebug() << "pushButton 1 ... " ;

    // 模拟一个长时间运行的循环
    for(int i = 0; i < 10; ++i) {
        qDebug() << "Loop iteration 1 " << i;
        QCoreApplication::processEvents(QEventLoop::AllEvents, 100); // 处理事件,最多处理100毫秒
        // 假设这里有一些耗时的操作...
        QThread::sleep(1); // 模拟耗时操作,让当前线程休眠1秒
    }
}

void Widget::on_pushButton_2_clicked()
{
    qDebug() << "pushButton 2 ... " ;
    // 模拟一个长时间运行的循环
    for(int i = 0; i < 10; ++i) {
        qDebug() << "Loop iteration 2 " << i;
        QCoreApplication::processEvents(QEventLoop::AllEvents, 100); // 处理事件,最多处理100毫秒
        // 假设这里有一些耗时的操作...
        QThread::msleep(500); // 模拟耗时操作,让当前线程休眠0.5秒
    }
}

运行过程中点击按键1 后点击按键2,然后再点击按键1。整个过程,按键是可以正常的点击的,不会出现未响应的情况。

运行结果:

pushButton 1 ...

Loop iteration 1 0

Loop iteration 1 1

Loop iteration 1 2

Loop iteration 1 3

pushButton 2 ...

Loop iteration 2 0

Loop iteration 2 1

Loop iteration 2 2

Loop iteration 2 3

Loop iteration 2 4

pushButton 1 ...

Loop iteration 1 0

Loop iteration 1 1

Loop iteration 1 2

Loop iteration 1 3

Loop iteration 1 4

Loop iteration 1 5

Loop iteration 1 6

Loop iteration 1 7

Loop iteration 1 8

Loop iteration 1 9

Loop iteration 2 5

Loop iteration 2 6

Loop iteration 2 7

Loop iteration 2 8

Loop iteration 2 9

Loop iteration 1 4

Loop iteration 1 5

Loop iteration 1 6

Loop iteration 1 7

Loop iteration 1 8

Loop iteration 1 9

相关推荐
小O的算法实验室12 小时前
2026年KBS,流形感知强化学习差分进化算法+不规则3D无人机路径规划,深度解析+性能实测
算法·智能算法·智能算法改进
玖釉-12 小时前
C++ 中的循环语句详解:while、do...while、for、嵌套循环与循环控制
开发语言·c++·算法
XMYX-012 小时前
37 - Go env 环境变量:配置管理与运行时控制
开发语言·golang
不做无法实现的梦~12 小时前
运动控制系统复习一览-----常考题目总结版本
算法
小短腿的代码世界12 小时前
信号路由风暴:Qt算法交易系统的高频信号分发架构
qt·算法·架构
阿文的代码库12 小时前
一文读懂GROUP BY 1,2 VS GROUP BY column_1, column_2 的区别
算法
一楼的猫12 小时前
从文本特征分析看网文平台AI检测:3个被忽视的指标
开发语言·人工智能·学习方法·ai编程·ai写作·ai自动写作
yuan1999712 小时前
基于MATLAB的梁非线性动力学方程编程实现框架
开发语言·matlab
Xin_ye1008613 小时前
C# 零基础到精通教程 - 第十一章:LINQ——语言集成查询
开发语言·c#
欧米欧13 小时前
C++进阶数据结构之搜索二叉树
开发语言·数据结构·c++