【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

相关推荐
bst@微胖子11 分钟前
Python高级语法之selenium
开发语言·python·selenium
Paddi93014 分钟前
Codeforces Round 1004 (Div. 1) C. Bitwise Slides
c++·算法
王小义笔记15 分钟前
Postman如何流畅使用DeepSeek
开发语言·测试工具·lua·postman·deepseek
Luis Li 的猫猫1 小时前
深度学习中的知识蒸馏
人工智能·经验分享·深度学习·学习·算法
查理零世1 小时前
【蓝桥杯集训·每日一题2025】 AcWing 6118. 蛋糕游戏 python
python·算法·蓝桥杯
敲代码的小王!1 小时前
MD5加密算法和BCrypt密码加密算法
java·算法·安全
带娃的IT创业者2 小时前
机器学习实战(6):支持向量机(SVM)——强大的非线性分类器
算法·机器学习·支持向量机
java1234_小锋2 小时前
一周学会Flask3 Python Web开发-request请求对象与url传参
开发语言·python·flask·flask3
流星白龙5 小时前
【C++】36.C++IO流
开发语言·c++
孑么5 小时前
力扣 买卖股票的最佳时机
算法·leetcode·职场和发展·贪心算法·动态规划