QT5 exec()模态显示子对话框,父子对话框都最小化后显示桌面

QT5 exec()模态显示子对话框,父子对话框都最小化后显示桌面_第1张图片

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();// 以模态方式显示对话框

你可能感兴趣的:(QT知识总结)