У меня полноэкранное приложение QML, похожее на это:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load("main.qml");
// Publish QmlApplication object to QML
engine.rootContext()->setContextProperty("QmlApplication", QApplication::activeWindow());
return app.exec();
}
Таким образом, рамка окна и кнопки мин / макс не видны. Поэтому у меня есть источник QML с кнопкой, где я пытаюсь свернуть приложение:
import QtQuick 2.12
Item {
id:screen
...
Button {
id: minimizeButton
onClicked: {
console.log("QmlApplication.isMinimized(): " + QmlApplication.minimized);
QmlApplication.showMinimized();
}
...
}
}
Однако окно сворачивается только один раз:
С первой попытки console.log
печатает:
qml: QmlApplication.isMinimized (): false
и QmlApplication.showMinimized()
сворачивает окно.
Однакопосле восстановления приложения по DE журнал консоли показывает:
qml: QmlApplication.isMinimized (): true
и QmlApplication.showMinimized()
не действуют.
Как исправить? Почему minimized
флаг остается true
?