Qt项目开发,有时候会从某个界面再打开一个界面,此时要保持新开的窗体保持在屏幕最前,也就是置顶,并且点击任何该窗体以外的区域都不受影响(不被最小化)。
研究了一段时间,找到了答案:
1. 设置窗体windowModality属性,设置为ApplicationModal
2. 代码中设置WindowFlag为WindowStaysOnTopHint
G::formCLRapid->setWindowFlags(G::formCLRapid->windowFlags() | Qt::WindowStaysOnTopHint);
G::formCLRapid->show();
实测有效,窗体打开之后就固定在屏幕最前,点击其他任何区域都不受影响,不会被最小化。