Windows下基于Qt开发Android应用

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
人工智能编程入门博客

作为一个嵌入式工程师,会一个上位机编程语言还是很有必要的,这里推荐各位有精力的学习一下Qt 。

学习Qt的优势:

  1. 学习的人多,资料相对丰富
  2. 拖拽控件即可完成界面设计,简单易用
  3. 最大的优势:跨平台

本次网文分享一下Qt下Android软件开发环境的搭建,完成本文的配置,可以完成Qt Windows和Android平台下的软件开发。

所需软件

安装 Qt 5.13.2

qt-opensource-windows-x86-5.13.2.exe 软件下载链接:

http://download.qt.io/archive/qt/5.13/5.13.2/

双击 qt-opensource-windows-x86-5.13.2.exe 进入安装界面,其中有如下所示一步需要输入Qt 账号,如果不想输入账号信息,可以在断网状态下进行安装。

我在断网的情况下,默认安装,在下面一步,具体选项如下所示:

如果电脑空间富余,建议全选安装。

然后默认下一步继续安装至结束。

安装SDK、NDK、JDK

SDK下载

SDK 下载链接:

https://www.androiddevtools.cn/

NDK下载

NDK 下载链接:

https://developer.android.google.cn/ndk/downloads/

解压SDK和NDK

打开SDK Manager.exe 软件:

我的SDK安装如下内容:

安装JDK

JDK 软件下载链接:

https://www.oracle.com/technetwork/java/javase/downloads/index.html

默认下一步安装JDK,安装完目录结构如下。

注意:Qt Android 环境对SDK 、 NDK、 JDK版本要求较高,建议选择上述已验证过环境。

Qt 创建工程

新建工程

选择Qt Widgets Application , 选择 Choose 进入下一步。

填写工程名称并选择工程所在路径:

构建工具选择 qmake 即可。

Base class 随便选一个皆可:

构建套件(Kits)选择:

选择版本控制工具,如果无,选择默认即可,点击完成

main.cpp文件中添加如下代码,解决Qt应用在Android手机中显示比例不对的问题,实现自适应高分辨率(DPI)。

#if (QT_VERSION >= QT_VERSION_CHECK(5,9,0))    
    QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif

双击.ui文件,进入UI设计界面:

在UI设计界面添加一Label ,修改其字体和文本。

Android手机通过数据线连接至电脑,开启开发人员选项->USB 调试,点击运行

在弹出对话框中,选择咱们的手机:

运行结果

手机端提示安装软件,安装完毕之后,运行效果如下:

可能遇到的问题

问题一:工具集中无Android选项

创建Android应用报错:Android has not been configured. Create Android kits

点击上图中的Configure按钮进入如下配置界面,配置JDK locationAndroid SDK的路径Android NDK的路径 ,具体配置如下:

选择菜单 工具-->选项 也可以进入上面的配置界面。

问题二:SDK软件包安装缓慢

选择Tools-->Options

更新代理:

问题三:初次编译下面步骤可能很慢

下面过程很慢,耐心等待即可。

问题四:程序如何在Windows下运行

项目 中,重新选择工具集为 Desktop Qt 5.13.2 MinGW 64-bit

重新运行,具体显示效果如下:

2021年,Qt 我们一起学起!

本公众号的2021年网文内容包括但不限于STM32、单片机、鸿蒙、Qt、小程序,欢迎感兴趣的朋友,持续关注。

2020年的网文汇总如下:
感谢有你,一路同行,历史文章汇总

资料获取

文章涉及软件,公众号后台回复关键字: Qt&Android 获取。

欢迎关注

程序员小哈带你玩转嵌入式,微信搜索:嵌入式从0到1,更多干货等着你。

04-23
### 关于Qt应用开发与使用的解答 #### 使用Qt进行跨平台应用程序开发的优势 Qt 是一种强大的 C++ 应用程序框架,支持开发者创建适用于多个操作系统的应用程序[^1]。它允许使用单一代码库构建针对不同硬件架构的应用程序,从而显著减少开发成本并提高效率。 以下是 Qt 的主要特点及其优势: - **跨平台兼容性**:无论是桌面操作系统(Windows、macOS 和 Linux),还是嵌入式设备(Android、iOS 或特定的 ARM 架构设备),Qt 都能提供一致的支持。 - **丰富的工具集**:除了核心框架外,Qt 还提供了诸如 Qt Creator IDE、调试器以及性能分析工具等资源来辅助开发过程。 - **扩展功能**:完成基础应用后,可以利用附加模块进一步增强产品价值,比如通过 `Qt Insight` 收集真实用户行为数据或者借助 `Qt Digital Ads` 实现盈利模式转换。 然而,在实际部署过程中可能会遇到某些技术挑战。例如,在基于 NVIDIA Jetson 平台上的项目实施时发现 X11 相关接口存在问题可能导致部分特性不可用的情况被记录下来作为案例分享给其他使用者参考学习之用[^2]。 #### 设置和安装Qt环境的具体方法论概述 对于初次接触该领域的新手来说,建立合适的开发环境至关重要。下面给出了一套标准流程用于指导如何从零开始搭建属于自己的qt5版本的工作空间: ```bash $ git clone git://code.qt.io/qt/qt5.git qt5 #克隆官方仓库到本地命名为qt5文件夹下 $ cd qt5 #进入刚下载下来的源码目录内部继续执行后续指令链路操作 $ git checkout 5.15.2 #切换分支至稳定版标签处锁定目标发行序列号为5.15.2这个固定数值不变动状态之中运行下去即可满足大多数场景下的需求前提条件下考虑采用此策略最为稳妥可靠些吧? $ perl init-repository #初始化子模组确保所有必要的组件都被正确拉取完毕后再往下走下一步骤动作之前先确认一遍当前状况良好无误才行哦! ``` 接着就是配置编译选项阶段了,这里可以根据个人喜好自定义很多参数来自由定制最终产物形式样貌特征属性等等各个方面因素影响结果呈现方式效果表现形态各异千变万化丰富多彩极富创意想象空间无限广阔深远令人叹服不已啊! 最后一步便是正式开启漫长的等待时间旅程啦——让计算机自行处理剩下的繁重劳动任务直至完全结束为止才算大功告成呢😊 --- #### 提供一段简单的示例代码帮助理解基本概念原理机制运作规律趋势走向变化动态情况实时更新反馈信息交流沟通协作配合默契程度提升效率质量水平层次境界升华超越自我突破极限追求卓越成就非凡梦想成真之路越走越宽广光明灿烂辉煌无比美好幸福快乐安康吉祥如意万事顺遂心想事成皆大欢喜阖家欢乐团圆美满共享天伦之乐永驻人间仙境般的生活体验享受不尽也😄 ```cpp #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton button("Hello World"); QObject::connect(&button, &QPushButton::clicked, [&]() { qInfo() << "Button was clicked!"; }); button.show(); return app.exec(); } ``` 以上这段小程序展示了怎样快速启动一个最简易的小窗口界面里面仅含单个按钮控件而已但是已经足以展示整个体系结构的核心思想精髓所在之处值得细细品味揣摩其中奥秘玄机隐藏着无穷智慧结晶闪耀光芒照亮前行道路指引方向带领我们不断探索未知世界开拓创新进取精神永不磨灭永远传承下去代代相传生生不息绵延久远流传千古成为永恒经典之作载入史册名垂青史流芳百世受人敬仰崇拜效仿学习模仿借鉴吸收转化运用实践验证真理掌握技能本领能力才华横溢脱颖而出独占鳌头傲视群雄笑傲江湖纵横捭阖所向披靡战无不胜攻无不克天下无敌无人可敌无可匹敌独一无二举世闻名享誉全球家喻户晓妇孺皆知老少咸宜雅俗共赏喜闻乐见爱戴拥护追捧追逐迷恋痴狂疯狂热衷执着坚持到底决不放弃直到成功那一刻到来之时才会停止脚步稍作休息调整心态重新出发再创佳绩续写传奇谱写新华章创造新奇迹铸就新辉煌开辟新时代引领潮流风尚树立标杆典范示范作用发挥得淋漓尽致恰到好处完美极致堪称艺术精品杰作传世之作当之无愧实至名归当之无
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值