Я разрабатываю AR-приложение для Android через Qt Qml Window.Приложение работает полностью в ландшафтном режиме (android: screenOrientation = "landscape").
На моих смартфонах приложение работает правильно, но на моих планшетах углы (горизонт, высота) датчика QRotations, кажется, дают значения отпортретный режим.
Причина в том, что координатные оси акселератора относятся к ориентации по умолчанию, и это для смартфонов «портрет» и для планшетов «пейзаж».
с
QScreen *screen = QGuiApplication::screens().at(0);
if(screen->nativeOrientation() == Qt::LandscapeOrientation) {
}
Я могу отфильтровать различные ориентации по умолчанию.
Но теперь невозможно (для устройств с установленным по умолчанию LandscapeOrientation) получить правильные углы поворота x, y при сохранении устройства в альбомном формате.Почему AxesOrientation не работает на моих смартфонах и планшетах?Это было бы именно то, что мне нужно.
m_pQrs = new QRotationSensor(this);
m_pQrs->setAxesOrientationMode(QSensor::UserOrientation);
m_pQrs->setUserOrientation(90);
qDebug() << "currentOrientation " << m_pQrs->currentOrientation(); // 0
qDebug() << "isFeatureSupported " << m_pQrs->isFeatureSupported(QSensor::AxesOrientation); // false
Кто-нибудь знает единый способ использования датчика QRotations в альбомном формате для смартфонов и планшетов?