【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

相关推荐
飞剑神2 分钟前
qt svg缺失元素, 原因是不支持 rgba
开发语言·qt
CoovallyAIHub15 分钟前
为什么85%的企业AI项目都失败了?
深度学习·算法·计算机视觉
KarrySmile18 分钟前
Day8--滑动窗口与双指针--1004. 最大连续1的个数 III,1658. 将 x 减到 0 的最小操作数,3641. 最长半重复子数组
数据结构·算法·双指针·滑动窗口·不定长滑动窗口·最大连续1的个数·最长子数组
zc.ovo21 分钟前
图论水题4
c++·算法·图论
KyollBM27 分钟前
【Luogu】每日一题——Day20. P4366 [Code+#4] 最短路 (图论)
算法·图论
qqxhb28 分钟前
零基础数据结构与算法——第七章:算法实践与工程应用-金融算法
算法·风险评估算法·金融算法·交易策略算法·欺诈检测算法
诗书画唱32 分钟前
【前端面试题】JavaScript 核心知识点解析(第二十二题到第六十一题)
开发语言·前端·javascript
冬天vs不冷33 分钟前
Java基础(九):Object核心类深度剖析
java·开发语言·python
TS的美梦34 分钟前
【1:1复刻R版】python版火山图函数一键出图
开发语言·python·r语言·scanpy·火山图
眠りたいです1 小时前
Qt音频播放器项目实践:文件过滤、元数据提取与动态歌词显示实现
c++·qt·ui·音视频·媒体·qt5·mime