QT5 exec()模态显示子对话框,在任务栏上单击鼠标右键,出现‘’显示桌面”选项,选中后,QT5父对话框最小化,但是子对话框一直显示在最上层,却不随父对话框一起最小化。后来发现是添加了Qt::WindowStaysOnTopHint原因
dlgSoftReg->setWindowFlags(flags | Qt::WindowStaysOnTopHint | Qt::MSWindowsFixedSizeDialogHint);
去掉Qt::WindowStaysOnTopHint即可正常!如下代码:
QDlgSoftReg *dlgSoftReg=new QDlgSoftReg(this);dlgSoftReg->setAttribute(Qt::WA_DeleteOnClose);Qt::WindowFlags flags=dlgSoftReg->windowFlags();//设置对话框固定大小dlgSoftReg->setWindowFlags(flags | Qt::MSWindowsFixedSizeDialogHint);dlgSoftReg->exec();// 以模态方式显示对话框