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(); //会阻塞主程序
相关推荐
小白学大数据1 分钟前
长周期爬虫的数据一致性:断点续爬 + 事务回滚保障采集质量
开发语言·爬虫·测试工具
zlinear数据采集卡37 分钟前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
Poo_Chai1 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
瑞码空间1 小时前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing
小努蛋2 小时前
linux编译openresty异常问题,lua_cjson.c:706:5: 错误: ‘for‘ 循环初始化声明只在 C99 或 C++ 模式下允许
开发语言·lua·openresty
qz_Serene2 小时前
C++:类和对象(上)
开发语言·c++
西安景驰电子2 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php
ctlover2 小时前
Python文件操作
开发语言·python
luj_17683 小时前
塔防牌:策略与卡牌的智慧碰撞
服务器·c语言·开发语言·经验分享·算法
霸道流氓气质3 小时前
基于本地 PaddleOCR 的 PDF 文字识别完整技术文档
开发语言·r语言·pdf