このページでは

Qt Quick Android用

Qt Quick Androidの概要

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

  • AndroidがQtコンテンツを作成し、それを制御します。
  • 開発には、Qt Tools for Android Studioプラグインを組み込んだ Android Studio を使用します。
  • Qtコンテンツには、Qt Creator またはQt Design Studio が使用されます。
  • 主な言語はJavaとKotlinであり、3Dコンテンツなどの特定の部分にはQMLが使用されます。
  • 任意のAndroid APIを使用できますが、JavaコードとQML間の通信をより細かく制御したい場合は、JNIを使用できます。詳細は、QJniObject およびQJniEnvironment を参照してください。

Qt for Android との違い

これらのアプローチの最も顕著な違いは、プロジェクト構造にあります。Qt for Androidアプリケーションは、Androidやその他のプラットフォーム向けにビルド可能なCMakeプロジェクトであるのに対し、Qt Quick for Androidプロジェクトは、QMLコンテンツを含み、Android向けにのみビルド可能なAndroidプロジェクトです。

Android向けQtとAndroid向けQt Quickのワークフローの比較

Qt for Androidのアプローチの主な目的は、アプリのアーキテクチャや定型コードに関する作業の大部分をQtに任せ、開発者がコンテンツに集中できるようにすることです。これにより、完全かつ信頼性の高いクロスプラットフォームアプローチが実現されます。

  • Qt が Android アプリを作成・管理します。
  • Qt Creator, Qt Design Studio、または Visual Studio を使用できます。
  • 主な言語はC++とQMLです。
  • Android固有の機能はより隠蔽されており、Qtが内部で処理します。
  • Qt API としてまだ利用できない Android API を使用するには、JNI を使用する必要があります。QJniObject およびQJniEnvironment を参照してください。

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

Android向けQt Quick の仕組み

Qt Quick Android向けxml-ph-0000@deepl.internalは、プロジェクト内でQMLコンテンツをAndroid Viewとして挿入できるようにするAndroid APIを提供します。

AndroidアプリにQt Quickが組み込まれている様子を示すアーキテクチャ図

API

これらは、Android アプリで QML を埋め込む際に使用する、公開されている Java および Kotlin API です。

Javaクラス

インターフェース

注: QMLコンポーネントのJavaコード生成に関する詳細については、CMake変数QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTSを参照してください 。

API の例

Android向けQt Quick では、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 Engineを作成したり、後でQt Quick のView APIによって処理されるQMLをロードしたりする必要はありません。必要なのは、main() にある以下のコードだけです:

#include <QGuiApplication>

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

    return app.exec();
}

Android向けQt Quick の実行例

Qt Quick Android APIのサンプルは、Android Studioプロジェクトとして用意されています

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

たとえば、Windowsのデフォルトのインストールパスでは、以下の場所にあります:

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

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

ツール

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

次のステップ

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

Android Fragments with Qt Quick for Android

AndroidのフラグメントでQt Quick のビューを使用する方法に関するチュートリアル。

© 2026 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.