设置 QMainWindow 窗口为模态
QDialog
因为有 exec()
函数为阻塞式的可以让 QDialog
成为模态的界面,但是 QMainWindow
创建的对象窗口只能使用 show()
来进行显示,无法直接让以 QMainWindow
的对象实现模态的效果。
如果要使 QMainWindow
的实例化对象能够实现模态的效果,必须要满足两个条件:
QMainWindow
的对象必须要有parent
父对象。- 设置
QMainWindow
对象为模态的类型。
具体如下:
// 1. MyMainWindow 为继承自 QMainWindow 的类,在创建其对象时指定其父对象,否则设置模态将无法生效
MyMainWindow* dlg = new MyMainWindow(this);
// 2. 设置窗口为模态:
dlg->setWindowModality(Qt::WindowModal); // 也可以使用: dlg->setWindowModality(Qt::ApplicationModal); 方式
// 3. 显示该窗口,此时就是模态的效果
dlg->show();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!