1

当您使用 Qt SDK for Android 创建默认 QML 应用程序时,您的应用程序始终以小窗口启动。通常 showExpanded 或 showFullscreen 会有所帮助,但这会导致黑屏。唯一的解决方法是使用具有固定大小的 setGeometry,但这对于支持各种各样的 Android 设备不是很有用。我在某处发现有人提到 QML 在启动时无法正确识别几何图形,需要使用 QDesktopWidget 手动更新。这里引用:

应用程序以“窗口”模式启动(带有顶部面板) 启动时 Qt 组件的屏幕尺寸错误 加载后 Qt 获得正确的屏幕尺寸但 QML 不正确 如何获得正确的屏幕尺寸: 连接到信号 QDesktopWidget::workAreaResized() 发送到 QML new来自 QDesktopWidget::screenGeometry() 的屏幕尺寸

有没有人遇到过类似的问题?顺便提一句。我在启动时使用闪屏,但我对旧的 Necessitas 和其他平台没有任何问题。

4

1 回答 1

1

我正在开发 android 设备上的 qml 应用程序。

include <QGuiApplication>
include <QtQml/QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc,argv);
QQmlApplicationEngine engine;
engine.load(QUrl("qrc:///main.qml"));
return app.exec();
}

(这是我的 main.cpp),我的 main.qml 是:

import QtQuick 2.1
import QtQuick.Controls 1.0

ApplicationWindow {
id: mainWin
visible: true
...
...

使用上面的代码,我的应用程序可以在 android 上全屏显示,我可以使用 mainWin.width 和 mainWin.height 获取屏幕大小。

于 2013-12-07T13:45:36.170 回答