Qt 模态对话框不模态的问题

Posted 卖杏花的陆游

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt 模态对话框不模态的问题相关的知识,希望对你有一定的参考价值。

自定义对话框,通过函数this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);设置了对话框的显示设置后,会导致该对话框在模态显示的时候如果设置了父窗口指针,会导致模态的设置无效,这时需要在该函数中加一个参数“Qt::Dialog”,即将该函数改为this->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);就可以了。

PS:如果不传父窗口的指针,模态也是有效的,只是这样在任务栏上弹出的窗口也会有一个独立的图标,并且在任务管理其中会多一个任务出现,这样感觉不是太好。设置父窗口任务栏和任务管理器中就都合并为一个了。

以上是关于Qt 模态对话框不模态的问题的主要内容,如果未能解决你的问题,请参考以下文章

Qt 销毁模态对话框

Qt的模态对话框和非模态对话框 经常使用setAttribute (Qt::WA_DeleteOnClose)

Qt对话框_模态/非模态

QT模态对话框及非模态对话框

QT笔记之模态对话框及非模态对话框

Qt 之 模态非模态半模态窗口的介绍及 实现QDialog的exec()方法