Qt Quick アンドロイド用

Qt Quick Androidの概要

このアプローチの基本は、アプリが比較的典型的な Android アプリのままであるように、Qt QML API を組み込み方式で提供することです。このアプローチでは、Qt アプリケーションのクロスプラットフォーム性を活用する代償として、より標準的な Android を中心としたアプローチを提供します。既存のAndroidアプリケーションにQtの機能を追加する場合に最適です。

  • Android が Qt のコンテンツを作成し、制御します。
  • 開発には Android Studio とQt Tools for Android Studioプラグインを使用します。
  • Qt コンテンツには、Qt Creator またはQt Design Studio を使用します。
  • 主な言語はJavaとKotlinで、3Dコンテンツなど特定の部分にはQMLを使用します。
  • AndroidのAPIは自由に使うことができますが、JavaコードとQML間の通信をよりコントロールしたい場合はJNIを使うことができます。QJniObjectQJniEnvironment を参照してください。

Qt for Androidとの違い

これらのアプローチの最も顕著な違いは、プロジェクトの構造です。Qt for Android アプリケーションは、Android または他のプラットフォーム用にビルドできる CMake プロジェクトです。一方、Qt Quick for Android プロジェクトは、QML コンテンツを含む Android プロジェクトで、Android 用にのみビルドできます。

Qt for Android アプローチの主な目的は、Qt にアプリのアーキテクチャとボイラープレートコードの大部分を処理させ、コンテンツに集中させることです。完全で信頼性の高いクロスプラットフォームアプローチを提供します。

  • QtはAndroidアプリを作成し、制御します。
  • Qt Creator, Qt Design StudioまたはVisual Studioを使用できます。
  • 主な言語はC++とQMLです。
  • Qtはこれらを内部的に処理します。
  • QtのAPIとしてまだ提供されていないAndroidのAPIを使用するには、JNIを使用する必要があります。QJniObjectQJniEnvironment を参照してください。

Qt for Android のアーキテクチャの詳細については、How Qt for Android Worksを参照してください。

Qt Quick for Android の仕組み

Qt Quick Qt for Android は、QML コンテンツをAndroid Viewとしてプロジェクトに挿入するためのAndroid API を提供します。

API

これらは、AndroidアプリにQMLを埋め込むために利用するJavaやKotlinの公開APIです。

Javaクラス

インターフェイス

Note: QMLコンポーネントのJavaコード生成に関する詳細な情報は、QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTSCMake変数を参照してください。

APIの例

Qt Quick for Android API では、main() の変更が必要です。

典型的なQt Quick アプリケーションの main.cpp は次のようになります:

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    QObject::connect(
        &engine,
        &QQmlApplicationEngine::objectCreationFailed,
        &app,
        []() { QCoreApplication::exit(-1); },
        Qt::QueuedConnection);
    engine.loadFromModule("MyQtQuickProject", "Main");

    return app.exec();
}

main() では、QMLエンジンを作成したり、Qt Quick のView APIで処理されるQMLを読み込んだりする必要はありません。必要なのはmain() だけです:

#include <QGuiApplication>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    return app.exec();
}

Qt Quick for Android の例を実行する

Qt Quick Android API のサンプルは Android Studio Projects です。

Qt Quick for Android API のサンプルは、Android Studio プロジェクトとして提供されています。プロジェクトフォルダは Qt のインストール場所にあります。

例えば、デフォルトの Windows インストールパスでは、ここにあります:

C:\Qt\Examples\Qt-<patch-release-number>\platforms\android\<example-name>

これらのプロジェクトは、このQtバージョンと互換性のあるバージョンのQt Gradle Pluginを使用するように設定されています。

ツーリング

Qt Gradle PluginQt Tools for Android Studioプラグインは、開発を容易にするために Qt によって提供されています。Gradle Plugin はビルドツールチェインの一部として IDE から独立して使用することができます。Qt Tools for Android Studioは、Android Studioでプロジェクトをビルドするためにプラグインを使用します。

ここから先

以下の追加トピックはQt Quick For Android に適用されます:

Android Fragments with Qt Quick for Android

Android FragmentsでQt Quick Viewsを使うためのチュートリアル

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.