我的QT应用程序有多个窗口,有时,即使这些窗口已经打开但被其他窗口掩埋了,用户也会从主窗口菜单栏中选择一个选项来打开一个窗口,在这种情况下,我只想将其打开并使其成为当前窗口即可。一。现在使用QWidget-> raise使此窗口位于所有其他窗口之上,但是它没有选择它,这就是我需要做的。我尝试了QWidget-> setFocus,但没有做任何事情。同时,我使用的是QWidget-> close和QWidget-> show的组合,但我想知道是否有命令与-> raise一起使用。
我试过了:
pMission->raise();
pMission->setFocus(Qt::ActiveWindowFocusReason);
但是它没有用,所以我用了:
pMission->close();
pMission->show();
最佳答案
您是否尝试过QWidget::activateWindow?
从帮助文件中,此功能将
Sets the top-level widget containing this widget to be the active window. An active window is a visible top-level window that has the keyboard input focus.
关于qt - 在Qt中,如何使一个窗口成为当前窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2240717/