Qt对话框不锁死主程序的方法

Qt 中的对话框有 3 种核心显示方式,其中只有exec()会阻塞主程序,show()open()则不会:

显示方式 特性 是否锁死主程序
exec() 阻塞式模态,暂停事件循环 是(主窗口无法操作)
show() 非模态,不阻塞事件循环 否(主窗口可正常交互)
open() 半模态,不阻塞事件循环但对话框模态 否(主窗口不可操作,但程序不锁死)
cpp 复制代码
    // 创建对话框
    QDialog *dalDlg = new QDialog(this);

    // 对话框基础设置
    dalDlg->setWindowTitle("对话框");
    dalDlg->resize(300, 200);

    dalDlg->show(); //不会阻塞主程序
    dalDlg->exec(); //会阻塞主程序
相关推荐
秋月的私语5 分钟前
遥感影像拼接线优化工具:基于Qt+GDAL+OpenCV的从零到一实践
开发语言·qt·opencv
xwz小王子14 分钟前
智元发布 GO-2:动作空间推理 + 全生命周期闭环,让机器人稳定可靠落地
开发语言·golang·机器人
charlie11451419114 分钟前
通用GUI编程技术——图形渲染实战(二十八)——图像格式与编解码:PNG/JPEG全掌握
开发语言·c++·windows·学习·图形渲染·win32
ZC跨境爬虫17 分钟前
海南大学交友平台登录页开发实战day4(解决python传输并读取登录信息的问题)
开发语言·前端·python·flask·html
wjs202419 分钟前
SQL LEN() 函数详解
开发语言
姓刘的哦25 分钟前
Qt自定义控件
开发语言·qt
Ricky_Theseus25 分钟前
C++静态库
开发语言·c++
SuperEugene26 分钟前
Python 异步 async/await:为什么 AI 框架大量使用?| 基础篇
开发语言·人工智能·python
SMF191932 分钟前
【uv】Python包管理器uv安装和应用
开发语言·python·uv
Lyyaoo.33 分钟前
【JAVA基础面经】String、StringBuffer、StringBuilder
java·开发语言