Qt Quick 适用于 Android
Qt Quick Android 概述
此方法的基础是以嵌入式方式提供 Qt Qml API,从而使应用程序保持相对典型的 Android 应用程序特性。这种方法提供了一种更标准的、以 Android 为中心的实现方式,但代价是无法充分利用 Qt 应用程序的跨平台特性。它最适合用于为现有的 Android 应用程序添加所需的 Qt 功能。
- Android 负责生成 Qt 内容并对其进行控制。
- 开发时使用安装了“Qt Tools for Android Studio”插件的 Android Studio。
- 对于 Qt 内容,使用Qt Creator 或Qt Design Studio 。
- 主要编程语言为 Java 和 Kotlin,QML 用于特定部分(如 3D 内容)。
- 您可以使用任何所需的 Android API,但若希望对 Java 代码与 QML 之间的通信拥有更多控制权,则可使用 JNI。请参阅QJniObject 和QJniEnvironment 。
这与 Qt for Android 的区别
这两种方法最显著的区别在于项目结构。Qt for Android 应用程序是 CMake 项目,可构建为 Android 或其他平台;而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 。
有关 QtforAndroid 架构的更多详细信息,请参阅《Qt for Android 工作原理》。
Qt Quick for Android 的工作原理
Qt Quick Qt for Android 为您提供Android API,使您能够在项目中将 QML 内容作为Android View嵌入。
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
Qt Quick 针对 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 引擎,也无需加载任何 QML 文件——这些操作稍后将由Qt Quick 的视图 API 处理。我们只需在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 提供了Qt Gradle 插件和 Qt Tools for Android Studio插件,以简化开发流程。您可以将 Gradle 插件作为构建工具链的一部分,在 IDE 之外独立使用。Qt Tools for Android Studio 则利用该插件在 Android Studio 中构建您的项目。
下一步该怎么做
以下附加主题适用于 Android 版Qt Quick :
关于在 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.