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(); //会阻塞主程序
相关推荐
aramae8 分钟前
模拟实现strcmp()(C语言)
c语言·开发语言·后端
泡海椒1 小时前
PDF 表格样式优化:jquick-pdf 边框、圆角、背景色
java·开发语言·pdf
Beyond_System|系统之外2 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
景熙55232 小时前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
Bruce_Liuxiaowei5 小时前
Python 实例赋值遮蔽类属性:一个从不报错的静默陷阱
开发语言·python·语法糖
aramae6 小时前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
码行山野赴时序归途9 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙55239 小时前
单体项目编写思路和落地形式
java·开发语言
计算机毕设定制辅导-无忧学长10 小时前
《基于SpringBoot的未成年人健康知识科普平台的设计与实现》
java·开发语言·vue.js·spring boot·未成年人健康知识科普平台
Ivanqhz10 小时前
Ping-Pong 双缓冲
开发语言·人工智能·python·深度学习·mlir