如何使 `Tool` window 始终位于 2 个或更多 Main window 之上?

How to make a `Tool` window always on top of 2 or more Main window?

快题

在QT C++项目中,有2个主要的windows(焦点可以无差别地设置到其中任何一个),以及一个tool window,它应该在上面2 主要 windows.

如何实现这样的功能?

详细问题:

一个主window和一个工具window,很容易解决:

#include <QApplication>
#include <QWidget>

int main( int n, char* args[])
{
    QApplication app(n, args);
    QWidget mainWindow;
    QWidget subWindow(&mainWindow);
    subWindow.setWindowFlags(subWindow.windowFlags() | Qt::Tool);
    mainWindow.show();
    subWindow.show();


    return app.exec();
}

我想要相同的功能,但有 2 个主要功能 window。想象一个视频播放器,其中工具 window 提供 "play/stop" 对两个图像的控制:

将 Qt::WindowStaysOnTopHint 添加到标志中

您可以 raise() 该工具 window 高于其他工具。

这可能有帮助:void QWidget::raise() documentation

此外,请参阅该函数的 "Note"。