На планшете неправильные углы от датчика QRotation с настройкой по умолчанию 'LandscapeOrientation' - PullRequest
0 голосов
/ 14 октября 2018

Я разрабатываю 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 в альбомном формате для смартфонов и планшетов?

...