手机网站制作套餐,wordpress函数调用函数,湖南住房和城乡建设部网站,网站服务器用什么系统目录
一、QT简介
二、开发环境
三、编码风格
四、设计框架
五、总结 一、QT简介 QT是一款以C为基础的开发工具#xff0c;已经包含了很多常用的库#xff0c;除了基本的GUI以外#xff0c;还有网络、数据库、多媒体、进程通信、串口、蓝牙等常用库#xff0c;开发起来…目录
一、QT简介
二、开发环境
三、编码风格
四、设计框架
五、总结 一、QT简介 QT是一款以C为基础的开发工具已经包含了很多常用的库除了基本的GUI以外还有网络、数据库、多媒体、进程通信、串口、蓝牙等常用库开发起来非常方便。后来QT又引入了QML使得在制作界面方面更便捷了类似js的语言上手容易短短几行代码就可以设计出灵活且美观的界面开发成本极低。 选择QT作为用户端的开发工具主要有以下优点
1、学习成本较低相比于再学习Java和安卓开发确实是低的而且既然会C语言了由于QT各种库已经封装得非常好了你只要学会如何调用就行了上手很快不要被C吓到。
2、具备前后端开发的框架相信QT引入QML也是为了可以区分前后端开发相比于传统的QtWidgets纯C开发结构框架上会好很多而且QtWidgets也不适合手机端的开发。
3、通用性强就这个项目的QT程序可以在Windows、MacOS、安卓、IOS、嵌入式linux(树莓派、香橙派)等平台编译运行作为个人的学习开发工具效率很高。
4、使用广泛QT在消费级产品比较少应用但是在工业领域却是很广泛的存在比如汽车的很多仪表盘的界面都是用QT做的会QT对以后找工作是有比较大的帮助的。 总的来讲QT综合功能强很适合个人开发一些小项目、上位机等可以让你的学习精力放在项目本身见效快。 二、开发环境 QT的开发方式是比较丰富的很多人一开始都是从拖拽界面开始的但是我不太建议这样表面上效率很高但是稍微有点逻辑、动态变化的元素在里面就很不好处理比较适合做些固定的小界面。要我说还是要学会用代码的方式去控制界面。 正常QT安装完后就可以直接用自带的MinGW编译套件进行开发可以随机打开一个自带的Demo进行测试。对于我们项目本身框架结构上还是要有利于维护的所以各类文件存放的位置最好统一下如下图所示整个工程结构主要分为项目文件xxx.pro、头文件、cpp文件和资源文件四大部分在资源管理器内的文件夹也做相应的分类这样整个项目维护起来比较方便。 三、编码风格 每个开发语言或者开发工具都有自己的编码风格比如之前说的RT-Thread用的是Unix风格小写字母下划线。相对来讲Qt的风格比较丰富大部分是下图这种形式的前面是小写的动词后面使用驼峰法把属性隔开比较少用下划线如果没有动词的话前面也是小写开头的。大家打开QT的Demo或者源文件什么的在默认参数下整体感觉还是很协调优雅的说明他们在编辑器排版、颜色、编码等内容都是做过功课的那我们也基本上入乡随俗沿用Qt的编码风格当然了也不一定非得生搬硬套整体上差不多就行。 我个人的定义一般是这样如下图所示类的成员变量一般都会以m_开头信号定义分为两种一种是C内部的用sig开头一种是C发到QML的用siq开头对于槽函数统一都是slot开头这样在写代码的时候很容易就通过补全提示体现筛选出来了。同样的在这里我也大量使用了u8、u16和u32对于嵌入式而言这个比较严谨和适用还有就是个人习惯所以也就沿用了。 刚才所提到的信号和槽是QT的一个特点它可以很方便地实现不同任务之间的数据交互以前有写过linux的代码是用的管道通信后来使用QT的信号槽后感觉方便多了。 四、设计框架 既然是模仿小米的空气净化器那首先就要看下米家APP关于净化器的界面设计了。 首先界面分为关机和开机两个状态上面的是关机数据显示的内容和位置其实是没变化的底面背景变了而已我们只是模仿而已像自动、睡眠这些个模式就不要了能调速就行了页面搞太长了也不利于初学那其实就剩下开关和调速栏了这里面其实还有个比较麻烦的是开机后中心圆圈(图片中橘黄色部分)是渐变色并且还有气泡随机冒出向中心运动这个要花点脑筋想想怎么实现不需要美工的。 经过整体分析大概可以做如下分解前后端先分开后端主要是数据处理的问题没有过多的逻辑前端几个界面上面也说明过了就是一个动态界面比较麻烦点还有个状态切换也要说明下就是根据不同的PM2.5数值换算成不同的等级这里分为优、良、差三级对应的颜色是绿、黄、红这个在第一篇的演示视频里应该都看到了这里再大概贴个界面顶部改成了在线状态(小绿灯)和ID号便于跟自己的内容结合。 五、总结 那么手机端APP的整体设计也就这样了不复杂这里都没有用美工进行UI设计的几个QML文件就能搞定了核心还是背后要有自己的设计思路我出这个教程的目的除了方便大家入门以外还有个目的就是让大家一开始就有项目思维不要停留在跑个demo的层面。 另外如果暂时Qt for Android的环境配置有问题那就先放放也无妨直接在PC端体验就好了效果差不多的有时间再慢慢折腾。 本项目的交流QQ群:701889554 写于2024-4-2