使用适用于Android的Qt SDK创建默认QML应用程序时,您的应用程序始终以小窗口开始。通常showExpanded或showFullscreen有帮助,但这会导致黑屏。解决方法的唯一方法是使用固定大小的setGeometry,但这对支持各种各样的Android设备不是很有用。我某处发现有人提到QML在启动时无法正确识别几何体,需要使用QDesktopWidget手动更新。这里引用:
应用程序以“窗口”模式启动(带顶部面板) 在开始时Qt组件的屏幕尺寸错误 加载后Qt获得正确的屏幕尺寸但QML没有 如何获得正确的屏幕尺寸: 连接信号QDesktopWidget :: workAreaResized() 发送到QML的新屏幕大小 QDesktopWidget :: screenGeometry()
是否有人经历过类似的问题?顺便说一句。我在启动时使用了闪屏,但我没有使用旧的Necessitas和其他平台。
答案 0 :(得分: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获得屏幕大小。