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プロジェクトです。
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を提供します。
API
これらは、Android アプリで QML を埋め込む際に使用する、公開されている Java および Kotlin API です。
Javaクラス
インターフェース
注: QMLコンポーネントのJavaコード生成に関する詳細については、CMake変数QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTSを参照してください 。
API の例
- Qt Quick Android Studio プロジェクト用
- QtAbstractListModel を QML から利用可能にする
- Android Studio プロジェクトでの QtAbstractItemModel の使用
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のフラグメントで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.