qt - 在Qt中,如何使一个窗口成为当前窗口?

标签 qt qt4

我的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/

相关文章:

c++ - 无法初始化QMainWindow类型的参数:ui-> setupUi(this)error

mysql - SELECT LAST_INSERT_ID() 返回零

qt - 当 UI 屏幕为 'loaded' 时会发生什么?

c++ - 在不剪切文本的情况下设置 QDialog 的固定大小

c++ - 修改对象而不将其用作参数

c++ - 内联函数和 QObject::connect - 预期表达式

qt - 禁用 QGroupBox 标题阴影(又名 eclipse 刻)

c++ - 如何自动将qwidget保存为图像

c++ - 在 Qt 中访问父对象

qt - 为什么库名称在其名称中多了一个 0?