这篇文章上次修改于 366 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

以下代码将窗口激活,显示到最前面:

void MainWindow::activateWindow()
{
    Qt::WindowStates winStatus = Qt::WindowNoState;
    if (windowState() & Qt::WindowMaximized)
    {
        winStatus = Qt::WindowMaximized;
    }
    setWindowState(Qt::WindowMinimized);
    setWindowState(Qt::WindowActive | winStatus);
    setGeometry(curGemRect);
    activateWindow();
    raise();
}

void MainWindow::resizeEvent(QResizeEvent*event)
{
    curGemRect = geometry();
}

void MainWindow::moveEvent(QMoveEvent *event)
{
    curGemRect = geometry();
}

参考资料