Qt是目前最先进、最完整的跨平台C 开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。

复制下面链接获取Qt组件下载:https://www.evget.com/vendor/495

本教程介绍了在使用Qt 6作为最低Qt版本并使用CMake作为构建系统时,如何使用Qt Creator开发适用于Android和iOS设备的Qt Quick应用程序。(点击这里回顾上文内容:C 界面开发框架Qt新手入门教程 - 如何创建移动应用程序(二))

锁定设备方向

当设备方向在纵向和横向之间变化时,设备显示默认旋转,在本示例中,最好是固定屏幕方向。

要在Android上将方向锁定为纵向或横向,您可以在Qt Creator中生成的AndroidManifest.xml中指定它。

怎么运行qt示例程序(界面开发框架Qt新手入门教程)(1)

要生成并使用清单文件,你必须在CMakeLists.txt文件中指定Android包的源目录QT_ANDROID_PACKAGE_SOURCE_DIR:

set_property(TARGET appaccelbubble APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android )

由于CMake版本比3.19更老,所以必须在qt_add_executable函数中添加一个手动终结步骤:

qt_add_executable(appaccelbubble main.cpp MANUAL_FINALIZATION )

我们还需要添加qt_finalize_executable函数:

qt_finalize_executable(appaccelbubble)

在iOS上,您可以在Info中锁定设备方向,在CMakeLists.txt文件中指定的plist文件作为MACOSX_BUNDLE_INFO_PLIST变量的值:

set_target_properties(appaccelbubble PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist" MACOSX_BUNDLE TRUE WIN32_EXECUTABLE TRUE )

添加依赖关系

您必须通过在项目文件中指定依赖项来告诉构建系统应用程序需要哪些Qt 模块,选择Projects用以下Qt模块信息更新CMake配置:Sensors, Svg, Xml。

CMakeLists.txt文件应该包含以下条目,告诉CMake查找Qt安装并导入应用程序所需的Qt Sensors、Qt SVG和Qt XML模块:

find_package(Qt6 6.2 COMPONENTS Quick Sensors Svg Xml REQUIRED)

您还需要将Qt模块添加到目标链接库列表中。target_link_libraries告诉CMake,通过引用上面find_package()调用导入的目标,accelerbubble可执行文件使用Qt Sensors、Qt SVG和Qt XML模块。这将向链接器添加必要的参数,并确保将适当的include目录和编译器定义传递给c 编译器。

target_link_libraries(appaccelbubble PRIVATE Qt6::Quick Qt6::Sensors Qt6::Svg Qt6::Xml)

添加依赖项之后,选择Build > Run CMake来应用配置更改。

运行应用程序

应用程序已经完成,可以部署到设备上:

1. 在Android设备或iOS设备的developer模式下打开USB调试开关。

2. 连接设备到开发PC。

如果您使用的是运行Android v4.2.2的设备,它应该会提示您验证连接,以允许从所连接的PC进行USB调试。要避免每次连接设备时出现这样的提示,请选中“Always allow from this computer”复选框,然后选择“OK”。

3. 要在设备上运行应用程序,请按Ctrl R。

Qt组件推荐,