【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!

《QT开发实战》

《嵌入式通用开发实战》

《嵌入式Linux开发实战》

1、你了解Qt吗?

Qt是一种基于C++的跨平台图形用户界面应用程序开发框架。如何跨平台?上到服务器上位机,下到嵌入式GUI,上天入地无所不能。Qt最早是由1991年由Qt Company开发,但是到2008年,Qt Company科技被诺基亚公司收购,是的,就是拥有着我们很多情怀的诺基亚。但在2012年,Qt又被Digia收购。等到了2014年,跨平台集成开发环境Qt Creator 3.1.0正式发布出来,至此,全面支持iOSAndroid、WP,QT的时代开始逐步展开。

而对于嵌入式开发的我们所使用的Qt,是 Qt 的 Embedded Linux 分支平台,在原始 Qt 的基础上,做了许多出色的调整以适合嵌入式环境。删除掉了一些与嵌入式无关的Lib库,使其相对来说更加节省嵌入式平台的内存空间。

2、Qt如何开发呢?

开发要用到的东西:Qt源代码+交叉编译器+一个灵活有创造性的大脑。

编译步骤,如下图所示:

使用交叉编译器编译好的Qt库要在LINUX虚拟机和嵌入式开发板上各一份,有了这个库,我们就可以在上面尽情的编写Qt程序了!(如果需要触摸功能,记得要移植一个开源程序tslib,它相当于底层驱动和上层应用的皇家接口,有效的处理防抖误操作等触摸问题,有机会下次介绍)。

Qt程序可以自己直接编写,出口成章。也可以依托于一个神器!这个神器的名字就是——集成开发环境 Qt Creator,如下图。

Qt Creator 是一个强大的跨平台 IDE,集编辑、 编译、 运行、 调试功能于一体。它不仅有简洁方便的开发界面,同时支持图形化编程。相当于有了它,即使你不会写程序,也可以通过控件的拖拽排布,设计出一个自己喜欢的图形界面。

3、如何编译呢?

程序搞定了,那我们如何编译呢?

有多种方式:

第一,直接使用Qt qmake工具编译;

第二,使用Qt Creator软件直接编译;

第三,市场上的一些第三方编译工具。

编译过程,话不多说,直接看下图,清晰明了:

4、重要知识点

当然,关于Qt开发,还有很多重要的知识点,你必须要知道!这里我主要讲两个。

1)布局管理器

如果你写过基于ARM开发的eMWIN,你一定知道我安放控件时,只需要创建一个控件,把他的颜色、形状、大小、位置全都使用参数配置好就万事大吉了。但是Qt不是这么玩的。

它有三大法器,让它的控件布局不会因为平台改变而扭曲。那就是三种布局管理器,这是能够对窗口部件的尺寸大小和位置进行设置的对象。

QHBoxLayout:在水平方向排列窗口部件,从左到右;

QVBoxLayout:在垂直方向排列窗口部件,从上到下;

QGridLayout:把各个窗口部件排列在一个网格中。

这三个布局管理器可以各种嵌套组合,水乳交融,组合成各种复杂的布局层次。

2) 信号与槽

此外,在Qt海洋里,控件与控件之间,控件与嵌入式板卡之间是如何通信的呢,如何团结合作一同创造复杂的信号通信网络呢?这就要说到第二个知识点——信号与槽。

控件与控件之前可以通过信号与槽的函数格式,将两个信号共通,参数值互相传递和改变,她就好像媒婆一样搭桥牵线。嵌入式LINUX开发的实现主要是文件的打开关闭读写,我们也可以把文件的信息传递给控件,也可以把控件的改变值写入到文件中,做到路路畅通,一路向东!

好了,以上是QT开发的入门简介,去年因为有项目需求,提前针对QT做了一些功课,针对QT的一些基础开发总结整理了一些博文,有需要的可以查看哦,传送门在此。

QT——开发入门简介相关推荐

  1. VS集成Qt开发入门(简易时间显示)

    VS集成Qt开发入门(简易时间显示) 软件开发入门 开发环境 简单时间显示(LcdNumber) ui界面设计(clock.ui) 工程文件(clock.h,clock.cpp) 头文件clock.h ...

  2. Pmac联合QT开发入门指南

    Pmac联合QT开发入门指南 1.Pcommserver介绍 2. 获取PcommServer.exe 3. 通过QT的dumpcp工具生成COM组件 4. QTcreator中操作 4.1 与PMA ...

  3. Android平台Qt开发入门教程

    很多人会问,Android平台可以不使用Java开发应用程序?? 我做Android平台native开发之前,也有这么想过,但是我又想,底层系统全是c/c++代码,用c/c++开发Android平台程 ...

  4. 米狗族 Android平台Qt开发入门教程

    很多人会问,Android平台可以不使用Java开发应用程序?? 我做Android平台native开发之前,也有这么想过,但是我又想,底层系统全是c/c++代码,用c/c++开发Android平台程 ...

  5. QT开发(十七)——QWT简介

    QT开发--QWT简介 一.QWT简介 QWT,即Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图,是为具有技术专业 ...

  6. qt开发教程视频c++入门自学qt5.5课程linux gui程序实战案例opia

    -//A25 QT教程/ ├──Qt 5开发教程 | ├──Qt初级教程 | | ├──第10课&基于Widget的GUI编程 – 其他控件 | | ├──第11课&基于Widget的 ...

  7. 【北京迅为】嵌入式Linux+QT开发零基础入门+项目实战教程分享

    B站搜'北京迅为', 入门视频教程免费学习,持续更新. https://space.bilibili.com/33785640 0基础学习+知识点 +实战项目演练 视频精简,思路清晰,不做无用功,让所 ...

  8. HealthKit开发快速入门教程之HealthKit开发概述简介

    HealthKit开发快速入门教程之HealthKit开发概述简介 2014年6月2日召开的年度开发者大会上,苹果发布了一款新的移动应用平台,可以收集和分析用户的健康数据.该移动应用平台被命名为&qu ...

  9. arm-linux 程序开发入门(QT窗口应用程序、编码、交叉编译、调试)(三机器和双机器搭建方法)(笔记)

    Linux及Arm-Linux程序开发笔记(零基础入门篇) 文章目录 前言 一.Arm-Linux程序开发平台简要介绍 1.1程序开发所需系统及开发语言 1.2系统平台搭建方式 二.Linux开发平台 ...

最新文章

  1. 计算机桌面是哪个盘,windows的桌面文件夹是哪个?
  2. Swift入门篇-基本类型(1)
  3. smarty模板引擎原理解析
  4. 利用java打印正三角形_JAVA一层for循环实现打印正三角形和到三角形
  5. HT for Web 3D游戏设计设计--汉诺塔(Towers of Hanoi)
  6. struts2教程(7)--拦截器
  7. mysql.5.5.21_centos6下mysql-5.5.21的安装
  8. webpack使用优化(基本篇)
  9. 天池 在线编程 寻找字母(计数)
  10. 再谈迭代器,生成器,yield,及和类的使用
  11. JS-面向对象---属性的特性 / 修改属性的特性
  12. 图像处理课程设计大报告 MATLAB GUI APP实现直方图均衡化、几何变换和加噪滤波
  13. tp5 + 百度编辑器 +七牛云存储的实现办法
  14. matlab面板数据怎么求增长率的公式,环比增长率怎么算公式表格(教你如何计算同比增长率)...
  15. 如果你要补充益生菌 ——益生菌补充、个体化、定植指南
  16. Obsidian好用的Markdown工具
  17. 使用 ffmpeg 转码 视频 (使用 nvidia 硬件加速 和 h265 编码)
  18. ECharts :lable显示所有数据、修改字体样式
  19. java.sql.SQLException: Incorrect string value: ‘\xE6\xB5\x8B\xE8\xAF\x95...‘ for column ‘xxx‘
  20. 3*3 三行三列的圈叉棋

热门文章

  1. 中标麒麟运行java,开发知识-中标麒麟安装达梦数据库(DM8)
  2. 命令查看linux版本,linux基础之教你如何查看linux版本
  3. 关于“存储空间不足”的问题
  4. STM32---c语言指针1
  5. linux shell 中文输入,Linux操作系统的Shell环境中输入中文
  6. JSP-简单的练习省略显示长字符串
  7. 云服务器的IP是显示哪里,云服务器的ip在哪里看
  8. Unity --- Vector3的使用,欧拉角与四元数
  9. 阿里云域名和ip绑定最新详细步骤
  10. word表格跨页显示时缺少上框线