我创建了测试QML应用程序以显示屏幕尺寸。
它在Xiaomi Redmi 6上进行了测试。设备屏幕分辨率为720 x 1440像素。
我有360 x696。有什么想法吗?
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
我这样说:DPI Awareness。answer帮助了我。
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。