QT——开发入门简介

QT——开发入门简介1、你了解Qt吗?Qt是一种基于C++的跨平台图形用户界面应用程序开发框架。如何跨平台?上到服务器上位机,下到嵌入式GUI,上天入地无所不能。Qt最早是由1991年由QtCompany开发,但是到2008年,QtCompany科技被诺基亚公司收购,是的,就是拥有着我们很多情怀的诺基亚。但在2012年,Qt又被Digia收购。等到了2014年,跨平台集成开发环境QtCreator3.1….

大家好,又见面了,我是你们的朋友全栈君。

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

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,是 Qt 的 Embedded Linux 分支平台,在原始 Qt 的基础上,做了许多出色的调整以适合嵌入式环境。删除掉了一些与嵌入式无关的Lib库,使其相对来说更加节省嵌入式平台的内存空间。

2、Qt如何开发呢?

 

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

编译步骤,如下图所示:

QT——开发入门简介

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

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

QT——开发入门简介

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

3、如何编译呢?

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

有多种方式:

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

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

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

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

QT——开发入门简介

4、重要知识点

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

1)布局管理器

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

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

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

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

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

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

2) 信号与槽

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

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

 

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145223.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • opencv gamma校正_opencv resize函数踩坑

    opencv gamma校正_opencv resize函数踩坑//链接https://blog.csdn.net/linqianbi/article/details/78617615//Gamma校正#include<iostream>#include<opencv2\core\core.hpp>#include<opencv2\highgui\highgui.hpp>#include<opencv2\imgproc\imgproc.hpp>#include<cm…

    2025年12月8日
    2
  • 英雄联盟 源代码_c语言游戏源码

    英雄联盟 源代码_c语言游戏源码【C语言】英雄联盟英雄查询系统模拟模拟~~~程序介绍:【C语言】英雄联盟英雄查询系统/*———————————-project:英雄联盟英雄查询系统author:LLZtoolman:xyfinish:2019/12/26———————————-*//*—————————–⊙注意事项!!!!为了用C语言实现文件的读写程序读取数据

    2022年9月19日
    4
  • 最新 Linux 命令总结 大全[通俗易懂]

    今天,带来一篇Linux命令总结的非常全的文章,也是我们平时工作中使用率非常高的操作命令,命令有点多,建议小伙伴们可以先收藏后阅读。目录1.基本命令2.关机3.文件和目录4.文件搜索5.挂载一个文件系统6.磁盘空间7.用户和群组8.文件的权限使用“+”设置权限,使用“-”用于取消9.文件的特殊属性,使用“+”设置权限,使用“-”用于取消10.打包和压缩文件11.RPM包12.YUM软件包升级器13.deb包14.查看文件内容15.文本处理16

    2022年4月10日
    63
  • 深入理解 Spring 之 SpringBoot 事务原理

    深入理解 Spring 之 SpringBoot 事务原理前言今天是平安夜,先祝大家平安夜快乐。我们之前的数十篇文章分析了Spring和Mybatis的原理,基本上从源码层面都了解了他们的基本原理,那么。在我们日常使用这些框架的时候,还有哪些疑问呢?就楼主而言,楼主已经明白了IOC,AOP的原理,也明白了Mybatis的原理,也明白了Spring和Mybatis是如何整合的。但是,我们漏掉了JavaEE中一个非常重要的特性:事

    2022年6月11日
    40
  • WiFi模块 driver驱动框架(sdio接口、pcie接口)「建议收藏」

    WiFi模块 driver驱动框架(sdio接口、pcie接口)「建议收藏」1、WiFidriver驱动框架应用层BSDsocket层TCP/IP协议层IP层网络设备层MAC层(802.11)(包括扫描、认证、关联、省电状态)设备驱动层2、SDIO-Wifi模块1、SDIO-Wifi模块介绍SDIO-Wifi模块是基于SDIO接口的符合WiFi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈,能够实现用户主平台数据通过SDIO口到无线网络之间的转换。SDIO具有传输数据快,兼容SD、MMC接口等特点。对于SD

    2022年9月27日
    2
  • 悖论软件测试农药

    悖论软件测试农药

    2022年1月7日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号