概述:
1.最近在项目中会遇到用户登录窗口,逻辑就是输入正确用户名密码方可进入程序,这个时候我们的窗口实现就要是模态的,之前都是用exec();劲爆方式实现,经过看帮助手册有其他方式来进行设置,分享下Qt的三种实现方式。
2.Qt有两种方法可以实现模态窗口:
(1)使用QDialog窗口->exec(); //阻塞整个程序所有窗口
(2)使用setModal()函数来实现; //阻塞整个程序所有窗口
(3)使用setWindowModality(Qt::ApplicationModal);//阻塞整个窗口
示例代码:
//方法一
//绑定父指针后此指针不需要delete
ModelDialog *model = new ModelDialog(this);
//设置窗口状态为模态窗口
model->setModal(true);
model->show();
//方法二
ModelDialog *model = new ModelDialog(this);
model->exec();
//方法三 《在即将显示窗口的构造中进行设置即可》
setWindowModality(Qt::NonModal); //不阻塞任何窗口
setWindowModality(Qt::ApplicationModal); //阻塞整个窗口
over:
欢迎大家关注作者在文末评论、点赞、转发以及批评指正!
如果大家有更好的方法或有问题可以在文末评论一起讨论!
共同学习!
共同进步!
文末一句话:
乌鸦学老鹰去抓羊,结果被羊毛卷住了爪子,最后被牧羊人活活的摔死了。