Я создал тестовое приложение QML, чтобы показать размер экрана.
Тестировалось на Xiaomi Redmi 6. Разрешение экрана устройства 720 x 1440 пикселей.
У меня 360 x 696. Есть идеи?
Windows 7 64-битная, Qt 5.14.1, jdk1.8.0_241.
Main.qml :
import QtQuick 2.12
import QtQuick.Window 2.12
Window {
visible: true
width: 720
height: 1440
title: qsTr("Hello World")
Column {
anchors.centerIn: parent
Text {
text: "Screen.width: " + Screen.width
color: "lightsteelblue"
}
Text {
text: "Screen.height: " + Screen.height
color: "lightsteelblue"
}
}
MouseArea {
anchors.fill: parent
onClicked: {
// ScreenSize == QGuiApplication::primaryScreen()->size()
console.log( ScreenSize.height, ScreenSize.width);
}
}
}
Вывод консоли:
D libTest2_armeabi-v7a.so: qml: 696 360
1 ответ
Я сделал так: Осведомленность о DPI.
Этот ответ помог мне.
int main(int argc, char *argv[])
{
argc = 3;
argv[0] = (char*)"Appname";
argv[1] = (char*)"--platform";
argv[2] = (char*)"android:dpiawareness=0";
QGuiApplication app(argc, argv);
...
}
Я изменил "Windows" на "Android".
Теперь все работает правильно.
Хотя эта функция не предназначена для Android.
После того, как я удалю строку кода добавления, она все равно работает правильно.
Приложение хорошо работает в исходном состоянии. Что-то переключилось на Qt.
Похожие вопросы
Связанные вопросы
Новые вопросы
qt
Qt - это кроссплатформенная среда разработки приложений, широко используемая для разработки прикладного программного обеспечения, которая может работать на различных программных и аппаратных платформах с минимальными изменениями в базовом коде или без таковых, при этом обладая мощью и скоростью собственных приложений. Qt доступен как с коммерческими, так и с открытыми лицензиями.