屏幕尺寸值错误

时间:2020-03-25 16:57:15

标签: qt qml size screen

我创建了测试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

Screenshot

1 个答案:

答案 0 :(得分:0)

我这样写: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。