11

嵌入式工程师学习Qt的几种开发方式

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzI4MDI4MDE5Ng%3D%3D&%3Bmid=2247497951&%3Bidx=1&%3Bsn=9e62a941a041061022f69e71160011c6
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

关注+ 星标公众 ,不错过精彩内容

Rb2Uje2.jpg!mobile

作者 | 李肖遥

转自 | 技术让梦想更伟大

qt值得学习吗?

嵌入式要学的东西真的很多,我们可能会说不写界面的话就不用学qt了?我不赞同。

Qt的实现主要是采用p-impl手法,实现接口与实现分离,它有很好的消息循环机制,有的对象与线程的相关性,它也有借助moc生成反射元信息,这种设计方法至今仍然非常适用。

qt内核部分其实是完全和界面无关的,你完全可以抛开Qt GUI部分来学习和使用Qt。当你完完全全学习了qt及其理念后,你会发现写优雅的代码是一件十分简单的事情,它可以应用到你之后的所有过程中去。

那么哪种Qt开发方式较好或者容易入门呢?

QT做UI界面一般单纯使用C++硬编码的方式,可以直接采用QWidget部件来做,而不是采用QT Designer做UI界面,也不是采用QML+Javascript,虽然灵活但是这样的话代码量大,通常采用QT开发,有如下三种方式:

  1. 使用QT GUI框架,单纯硬编码

  2. 使用QT Designer做UI界面,类似于MFC一样拖控件,然后再使用C++写逻辑。

  3. 采用QML做UI,JavaScript写逻辑,C++写后台,三种语言混合编程。

那么Qt常见的有多少种开发方式呢?一般情况下分为下面2种

  • 第一种:纯QtCreator方式,QtCreator编码+MinGW或MSVC或其他编译。

  • 第二种:VS+Qt库,把Qt当成一个界面库来在VS中调用。VS编码+MSVC编译。

ayEfArI.png!mobile

使用VS+Qt的正确打开方式

如果开发的程序只管windows上跑,不用跨平台,也不关心是否需要使用Qt Creator打开,那么推荐你使用VS+Qt方式进行开发。

这种情况需要安装VS、Qt软件,并且在VS中安装QT插件,配置环境变量等等,具体的安装配置教程大家可以参考网上的,亲手尝试一下,本文注重方法。

buM7ji2.png!mobile

装好重新打开VS,菜单栏多出个QT VS Tools,点击QT Options可以进行下一步操作

EzQbEzF.png!mobile

VS速度和调试功能完爆Qt Creator,开发起来很爽。

使用Qt Creator的打开方式

QtCreator+MSVC

需要安装VS(我们主要使用它的编译器)、Qt Creator软件,MSVC调试器安装,通过windows SDK工具安装调试器。配置Qt Creator编译器和调试器

打开Qt Creator,选择“工具”->“选项”,再选择“Kits”->“编译器”,可以看到Qt已经自动检测到MSVC编译器了。

Qfy6vyJ.png!mobile

同时在“Kits”->“Debuggers”下,也自动检测到调试器了。

beuyy2R.png!mobile

然后我们选择“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

r2YR3qu.png!mobile

Qt Creator+MinGW

安装Qt creator后,直接使用Qt Creator编码,使用自带的MinGW编译,这个是最简单的,无需外界其他任何辅助。

同时安装步骤也是最简单的,直接装完就可以做开发,没有过多的配置过程。

bIzIv2z.png!mobile

推荐使用QtCreator+MSVC方式,在速度和跨平台都占优,调试功能稍弱,另外这种方式不存在工程转换的问题,可以更好的支持跨平台开发。

结论

如果需要考虑跨平台,那么最好不要使用VS+Qt这种方式,工程转换路径、库、配置有很多麻烦的地方;

MSVC在编译速度和运行速度上都完爆MinGW,不推荐使用MinGW编译,这个大家体验一下就知道了。

------------  END   ------------

推荐阅读:

精选汇总 | 专栏 | 目录 | 搜索

精选汇总 | 嵌入式C语言

精选汇总 | STM32、单片机

欢迎关注我的公众号 回复“ 加群 ”按规则加入技术交流群,回复“ 1024 ”查看更多内容。

欢迎关注我的视频号:

viA3IfF.jpg!mobile

击“ 阅读原文 ”查看更多分享,欢迎 点分享、收藏、点赞、在看。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK