Пишу приложение на QT 5.9 в режиме киоска. Оно должно работать развернутым на весь дисплей. Развернуть на весь дисплей получилось:
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
const QUrl url(QStringLiteral("qrc:/interface/main.qml"));
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
&app, [url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
QCoreApplication::exit(-1);
}, Qt::QueuedConnection);
engine.load(url);
#if defined(Q_OS_ANDROID)
QQuickWindow *window = qobject_cast<QQuickWindow *>(engine.rootObjects().first());
window->showFullScreen();
#endif
но остается одно НО. Разрешение дисплея устройства 600 на 1024. Приложение сначала запускается с видимой панелью кнопок назад, домой, свернуть. Далее включается режим киоска и они исчезают. Изображение растягивается на весь экран, но круглые кнопки уже не остаются круглыми, а станоятся овальными. В логах при запуске вижу такую строку:
DisplayManager( 2083): getDisplayInfo: displayId=0, info=DisplayInfo{"Встроенный экран", uniqueId "local:0", app 600 x 976, real 600 x 1024, largest app 1024 x 951, smallest app 600 x 527, 69.6 fps, supportedRefreshRates [69.6], rotation 3, density 160 (159.5681 x 160.42105) dpi, layerStack 0, appVsyncOff 0, presDeadline 15367816, type BUILT_IN, state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}
Т.е. прямоугольник 600х976 растянулся на 600х1024 как бы это сказать без уведомления приложения, т.е. оно думает что оно 600х976, тогда как его растянули на 600х1024, сделав задуманную разработчиком круглость овальностью. Куда копать в данном случае. Не нахожу похожих тем.