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(); //会阻塞主程序
相关推荐
努力写代码的熊大2 小时前
c++异常和智能指针
java·开发语言·c++
Yvonne爱编码2 小时前
JAVA数据结构 DAY5-LinkedList
java·开发语言·python
千秋乐。2 小时前
C++-string
开发语言·c++
孞㐑¥2 小时前
算法—队列+宽搜(bfs)+堆
开发语言·c++·经验分享·笔记·算法
yufuu982 小时前
并行算法在STL中的应用
开发语言·c++·算法
charlie1145141912 小时前
嵌入式C++教程——ETL(Embedded Template Library)
开发语言·c++·笔记·学习·嵌入式·etl
陳10302 小时前
C++:AVL树的模拟实现
开发语言·c++
zfoo-framework3 小时前
docker desktop
开发语言
m0_736919103 小时前
C++中的享元模式变体
开发语言·c++·算法