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 に答える