2-模态和非模态对话框
本帖最后由 不二如是 于 2016-9-22 11:26 编辑本程序是第二种创建方法,流程如下
关于方法一、二、三的一些说明
方法一
在MyWidget类的构造函数中定义了一个QDialog类对象,并制定dialog的父窗口为MyWidget类对象,就是那个this参数
最后调用show()函数让其显示
此时程序一闪而过,然后就显示MyWidget()类对象的窗口了
为啥呢?
**** Hidden Message *****
为了解决这个问题,引入方法二、方法三
方法二
使用了QDialog对象的指针,并使用new运算符创建内存空间,此时便可正常显示两个窗口。
注意阿
QDialog dialog 可以说成定义一个对象
QDialog *dialog是定义了一个指向QDialog类对象的指针变量(后面也会说成是定义了一个QDialog对象)
补充一点
这里为dialog对象指明了父窗口(this),所以就没必要使用delete来释放对象
方法三
此时运行程序后,发现对话框弹出来了
但MyWidget类对象没有出来
关闭对话框后,MyWidget类对象的窗口才弹出来
此时这个就叫做模态对话框
而方法二就是非模态。
关于模态与非模态说明
打开方法二注释行,即添加 dialog->setModal(true);
在show()函数前面使用setModal()函数即可将非模态变为模态
那么到底什么模态、非模态呢?
很简单
模态就是在没有关闭该对话框前,不能再与同一个应用程序的其他窗口进行交互
非模态,就是非模态啦。。。。。。。。。
好吧,非模态就是能与其他窗口进行交互,爱关闭就关闭,爱干嘛干嘛
**** Hidden Message *****
有时间的话,弄个视频教程,受众更多哦! btw,你的头像什么时候会动了,吓我一跳。{:10_305:} ~风介~ 发表于 2016-9-21 20:20
有时间的话,弄个视频教程,受众更多哦!
视频确实不方便。。。在办公室不敢太嚣张 ~风介~ 发表于 2016-9-21 20:21
btw,你的头像什么时候会动了,吓我一跳。
哈哈哈,是不是很酷炫{:10_256:} 不二如是 发表于 2016-9-22 08:30
哈哈哈,是不是很酷炫
来人啊!把这个妖人拖出去,斩了!{:10_250:} ~风介~ 发表于 2016-9-22 09:09
来人啊!把这个妖人拖出去,斩了!
{:10_278:}{:10_278:}{:10_278:} {:5_92:} bhsx 发表于 2016-10-14 14:36
{:10_268:} tkinter中如何实现有模与非模? 谢谢不二版主 {:5_108:} thanks
是不是因为构建函数推出,对象自动销毁空间释放 感谢不二
学习 支持不二 学习一下 好文章啊 为何突然用C++了
页:
[1]
2