嵌入式开发必须学习qt吗?
作为一名嵌入式开发行者QT是必须要学的,也许现在不学以后也要学习的。一方面,在嵌入式初学阶段,也就是裸机开发,可能需要自己写上位机,QT就是一个做上位机的一个好用的工具,一般只要会c++学习QT一天就可以入门。另一方面,市场上任何一款产品几乎都带图形界面,市场上很火的Android、IOS编程无非也是GUI app编程,GUI编程都是差不多,学习Qt后再学习Android、IOS,是很容易的。就算不学习Android、IOS,由于Qt跨平台特性,通过Qt写的程序也可以在Android、IOS平台上运行。
Qt的实现主要是采用p-impl手法,实现接口与实现分离,它有很好的消息循环机制,有的对象与线程的相关性,它也有借助moc生成反射元信息,这种设计方法至今仍然非常适用。
qt内核部分其实是完全和界面无关的,你完全可以抛开Qt GUI部分来学习和使用Qt。当你完完全全学习了qt及其理念后,你会发现写优雅的代码是一件十分简单的事情,它可以应用到你之后的所有过程中去。
那么哪种Qt开发方式较好或者容易入门呢?
QT做UI界面一般单纯使用C++硬编码的方式,可以直接采用QWidget部件来做,而不是采用QT Designer做UI界面,也不是采用QML+Javascript,虽然灵活但是这样的话代码量大,通常采用QT开发,有如下三种方式:
使用QT GUI框架,单纯硬编码
使用QT Designer做UI界面,类似于MFC一样拖控件,然后再使用C++写逻辑。
采用QML做UI,JavaScript写逻辑,C++写后台,三种语言混合编程。
那么Qt常见的有多少种开发方式呢?一般情况下分为下面2种:
第一种:纯QtCreator方式,QtCreator编码+MinGW或MSVC或其他编译。
第二种:VS+Qt库,把Qt当成一个界面库来在VS中调用。VS编码+MSVC编译。
使用VS+Qt的正确打开方式
如果开发的程序只管windows上跑,不用跨平台,也不关心是否需要使用Qt Creator打开,那么推荐你使用VS+Qt方式进行开发。
使用Qt Creator的打开方式:QtCreator+MSVC
需要安装VS(我们主要使用它的编译器)、Qt Creator软件,MSVC调试器安装,通过windows SDK工具安装调试器。配置Qt Creator编译器和调试器
打开Qt Creator,选择“工具”->“选项”,再选择“Kits”->“编译器”,可以看到Qt已经自动检测到MSVC编译器了。
同时在“Kits”->“Debuggers”下,也自动检测到调试器了。
然后我们选择“Kits”->“构建套件”,然后选择Desktop Qt 5.12.0 MSVC2017 64bit,
配置C/C++编译器均为:Microsoft Visual C++ Compiler 15.0(x86_amd64);
配置调试器为:Auto-detected CDB at D:\Windows Kits\10\Debuggers\x64\cdb.exe。
Qt Creator+MinGW
安装Qt creator后,直接使用Qt Creator编码,使用自带的MinGW编译,这个是最简单的,无需外界其他任何辅助。
同时安装步骤也是最简单的,直接装完就可以做开发,没有过多的配置过程。
推荐使用QtCreator+MSVC方式,在速度和跨平台都占优,调试功能稍弱,另外这种方式不存在工程转换的问题,可以更好的支持跨平台开发。
嵌入式开发必须学习qt吗?相关推荐
- 嵌入式开发需要学mysql吗_学习嵌入式开发需要学习哪些课程?如何学习?
针对很多的大学生嵌入式开发初学者来说,对嵌入式开发的学习还很迷茫.今天信盈达嵌入式培训老师给出参考建议:首先:嵌入式开发需要学习哪些课程?因为嵌入式开发的方向不同,所学习的内容会有所区别,但是无论是哪 ...
- 零基础学习嵌入式开发难吗?嵌入式开发需要学习什么
对于零基础刚开始学习嵌入式的同学很多都会有这样的一个想法,嵌入式开发需要学习什么?如果是电子或计算机专业的人,相对来说,会比较容易入门;而非电子或计算机专业的人,应该先从基本的电路和C语言编程开始学. ...
- ARM嵌入式开发板学习路线指引
如何入门嵌入式?嵌入式开发学习方法步骤 如何入门嵌入式?嵌入式开发学习路线指引 嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有linux,android. 平台:Cortex-A9 ...
- 一位久经沙场的嵌入式er站在初学者角度谈谈嵌入式开发与学习的一些问题
一位久经沙场的嵌入式er站在初学者角度谈谈嵌入式开发与学习的一些问题 在刚刚涉足嵌入式开发的时候,总想找到这样一本书,它可以解决我一些这样那样的疑惑.但是遗憾的是,到现在也没有这样一本书面世,而且我想 ...
- 嵌入式开发需要学习哪些东西
刚刚读到这篇文章,对于刚入门嵌入式来说挺有用的,献给向我一样正在迷茫,苦于没有头绪,没人指引的学习朋友们. 主要讨论下嵌入式技术学习方法,主要是针对嵌入式软件. 嵌入式技术是一门边缘科学(又称交叉科学 ...
- 嵌入式入门学习笔记6:[转]嵌入式开发需要学习哪些东西
本文转自迅为开发板iTOP-4412开发板实战手册:http://www.topeetboard.com 刚刚读到这篇文章,对于刚入门嵌入式来说挺有用的,献给向我一样正在迷茫,苦于没有头绪,没人指引的 ...
- #杂谈 个人嵌入式开发的学习
本人目前从事的是嵌入式软件开发的相关工作.这是一个关于个人做项目时用过的开发工具的杂谈,仅是为了记录学习经历,同时也为和我有同样瞎搞东西的爱好者提供一个学习思路. 前言 我的技术栈: 下面介绍一下我用 ...
- 嵌入式开发调试学习与思考
截至今天,自己负责的一个项目算是告一段落,前前后后5个多月时间. 该项目是对公司设计的基于powerpc的处理器进行FPGA仿真阶段的软件验证,以及bootloader和kernel移植,以便芯片进行 ...
- STM32MP157嵌入式开发—5、QT应用开发(2):GRBL控制软件Candle的编译与运行
二.GRBL控制软件Candle的编译与运行 2.1.通过下面git链接下载Candle跨平台源码 文件也可以在后面的网盘链接获取:链接/MP157/QT开发环境搭建/QT应用解压到STM32MP15 ...
最新文章
- 下列哪些是java语言的条件执行语句_13春福师《JAVA程序设计》在线作业二
- 软件管家公众号_软件安装管家:大学生最值得关注的公众号
- 腾讯年度性爱报告被曝,最后一条数据我羞愧了!
- 堆排序算法c语言筛选法,【排序】排序算法之选择排序
- 简单Linux磁盘管理
- 叨叨20220304
- Swagger2 最全注解说明(转载)
- Go http访问使用代理
- 大道至简第七第八章读后感
- jQuery中的阻止默认行为
- HTML网页设计:十一、表单
- SARS-CoV-2的近端起源
- 某一年某一年_链接一年
- 获取当前日期上周的周一和周日日期
- Object-Oriented Programming Summary Ⅲ
- uniapp 热更新和整包更新
- 右键删除或新增 Open Folder as Intellij IDEA Project
- JDBC,你真的知道怎么用吗?
- 使用U盘安装Archlinux
- 计算机硬件加速怎么开,硬件加速有什么用(电脑如何开启硬件加速)
热门文章
- lua table是否为空的判断
- 观察者模式实际应用场景「扩展点实战系列」- 第439篇
- 关于redis服务的代码编码
- 恒源智GPU云服务器
- SpringData示例
- 大数据开发超高频面试题!大厂面试必看!包含Hadoop、zookeeper、Hive、flume、kafka、Hbase、flink、spark、数仓等
- IO多路复用select,poll epoll以及区别
- 2023年的深度学习入门指南(10) - CUDA编程基础
- css clip-path 画五角星
- Centos6.8下安装Mysql5.6.14,连接mysql及增删改查,通过Mysql-Front远程连接(开启端口、允许远程连接)