У меня есть окно 'flash' для показа изображения во время запуска приложения.Изображение отображается, в моем производном конструкторе QMainWindow я установил флаги:
setWindowFlags(Qt::CustomizeWindowHint
| Qt::FramelessWindowHint
| Qt::WindowStaysOnTopHint);
Однако, когда другое окно создано, я могу перетащить это новое окно перед всплывающим окном, которое я нене хочуЯ хочу, чтобы перетаскиваемое окно находилось за всплывающим окном до тех пор, пока оно не будет удалено.
Я ищу в Интернете, и то, что я установил, должно работать, но это не так.Я использую Qt Creator 4.9.0 на основе Qt 5.12.2
Моя система - iMAC (Retina 5K, 27 дюймов, конец 2015 г.).
[Редактировать] Я использовалПриведенный ниже код для проверки и подтверждения моей ошибки, мое окно приложения должно быть модальным, но я хочу, чтобы всплывающее окно всегда было сверху.
#include <QMainWindow>
#include <QApplication>
int main(int argc, char ** argv)
{
QApplication app(argc, argv);
QMainWindow * mw = new QMainWindow();
mw->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
mw->resize(500, 500);
mw->show();
QMainWindow * secondWindow = new QMainWindow();
secondWindow->setWindowModality(Qt::ApplicationModal); // <- This breaks the always on top flag
secondWindow->resize(500, 500);
secondWindow->show();
return app.exec();
}
Я попытался установить оба окна набудь модальным, это тоже не поможет.