QWidget设置成模态对话框并弹框显示

简介: QWidget设置成模态对话框并弹框显示

正确的做法:


1、

FormProcessRoi *form = new FormProcessRoi(this);//只能用指针,不能实例化为对象
//Qt::NonModal 不阻塞
//Qt::WindowModal 阻塞父窗口,所有祖先窗口及其子窗口
//Qt::ApplicationModal 阻塞整个应用程序
form->setWindowModality(Qt::ApplicationModal); //设置阻塞类型
form->setAttribute(Qt::WA_ShowModal, true);    //属性设置 true:模态 false:非模态
form->setWindowFlags(Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint | Qt::Dialog);
form->show();


2、


FormAbout *a = new FormAbout(nullptr); //不能有父类


a->setAttribute(Qt::WA_ShowModal, true); //属性设置true:模态;false:非模态


a->setWindowTitle(tr("关于本软件"));


a->setWindowIcon(QIcon(":/res/icons/main.png"));


a->setWindowFlags(/*a->windowFlags()|*/ Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint | Qt::Tool); //使得任务栏不会有该窗口的图标


a->show();



错误的做法:


FormProcessRoi form;


form.show();



相关文章
|
小程序
小程序右上角的胶囊颜色怎么修改?
小程序右上角的胶囊颜色怎么修改?
207 0
|
5月前
|
数据安全/隐私保护
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
492 4
vitepress如何配置右上角的小两侧标志,利用nav标签进行修改,右侧边栏如何设置成自动弹出水平框,让原先隐藏的框能够显示出来
vitepress如何配置右上角的小两侧标志,利用nav标签进行修改,右侧边栏如何设置成自动弹出水平框,让原先隐藏的框能够显示出来
|
8月前
MFC隐藏对话框边框和可拖动
MFC隐藏对话框边框和可拖动
119 0
|
前端开发
input框点击时去掉默认的外层边框
input框点击时去掉默认的外层边框
78 0
|
前端开发
鼠标点击<input>输入框后边框发生颜色变化
鼠标点击<input>输入框后边框发生颜色变化
107 0
布局之悬浮显示更多文本并增加箭头指示效果
布局之悬浮显示更多文本并增加箭头指示效果
140 0
布局之悬浮显示更多文本并增加箭头指示效果
Qt | 模态对话框和非模态对话框 QDialog
了解Qt的模态对话框和非模态对话框的使用。
348 0

热门文章

最新文章