Qt值得学习吗?详解Qt的几种开发方式

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编译。

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

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

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

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

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

使用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方式,在速度和跨平台都占优,调试功能稍弱,另外这种方式不存在工程转换的问题,可以更好的支持跨平台开发。

结论

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

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

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

长按前往图中包含的公众号关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术QA:如何安装并启用BITS和WebDAV?

引子: 在安装SCCM 2007 SP1时,必须要安装并启用BITS和WebDAV,否则在SCCM 2007 SP1安装先决条件检查时将会报错。它们以前都是IIS的功能组件,但是在IIS 7中变动很大,特别是在 Windows Server 2008 操作系统中现在已经不…

C语言,谁都能看得懂的归并排序

喜欢看排序算法动态效果的,可以看看这个网站https://visualgo.net/zh/sorting里面很多算法的动画解释,可以看到算法的排序效果,而且还附带了伪代码的实现过程。本来想录制几张动图放上来,但是因为图片较大,传不上来&am…

内核链表list.h文件剖析

内核链表list.h文件剖析 一、内核链表的结构【双向循环链表】 内核链表的好主要体现为两点,1是可扩展性,2是封装。可以将内核链表复用到用户态编程中,以后在用户态下编程就不需要写一些关于链表的代码了,直接将内核中list.h中的代…

CAN总线很难吗?CAN总线看不懂是不可能的!

CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel)CAN有很多优秀的特点,使得它能…

C语言必须写main函数?最简单的 Hello world 你其实一点都不懂!

我们在刚写程序的时候,第一个都是 hello world,而在这里,完整的代码就是:我们打眼一看,其实很简单,就是引入头文件,写一个主函数,然后输出一句话,但是当我们编译出来ELF的…

源码包安装

一、源码包和RPM包的区别 1、区别 安装之前的区别:概念上的区别 安装之后的区别:安装位置不同 2、RPM包安装位置 是安装在默认位置中 注:安装位置是写RPM包的作者决定的 注:RPM包支持指定安装位置,但是不建议指定位置安…

Linux下修改SSH登录端口

Linux下修改SSH登录端口LINUX 的默认SSH 端口是 22。为了防止别人暴力破解,建议修改SSH 访问端口:vim /etc/ssh/sshd_config 找到Port 22 这一行,这是是默认端口22,现在改成Port 1234这个数字自己定,但是不要超过65536…

五岁的时候,你在干什么?

文章写在2021.2.7号——想不到啊想不到,这么快你就五岁了。今天是楠哥的生日,在五年前的今天,小伙子在深圳宝安妇幼出生,刚出生的时候,样子很丑,第一次见面,我心情很紧张,不怎么敢靠…

TQ210——核心板和底板

TQ210——核心板和底板 1、TQ210简介【TQ210_COREB核心板 TQ210_BOARD_V4底板】 三星Cortex-A8 S5PV210芯片,运行最大频率1GHZ,处理器内部为64/32位总线结构,32/32KB一级缓存,512KB二级缓存。自带3D加速引擎(SGX540&a…

“华为天才少年”自制百大Up奖杯,网友:技术难度不高侮辱性极强

来源:雷锋网B站硬核黑科技Up主、AI算法工程师稚晖君,停更了好一阵子后,这位自称野生钢铁侠的超硬核Up主终于又发布了新作品。之所以停更这么久,Up主解释说,不是因为在野外被捕了,纯粹是因为工作太忙了。熟悉…

终极教程,带具体实验现象,1个GPIO控制2个LED显示4种状态,欢迎讨论!

芯片之家前几天发了一篇文章,讨论1个GPIO控制2个LED显示4种状态,并没有带具体的实验现象,有点小遗憾:绝妙!1个GPIO控制2个LED显示4种状态,什么?你不信?(点击阅读&#xf…

《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap

HACK #15 ramzswap 本节介绍将一部分内存作为交换设备使用的ramzswap。ramzswap是将一部分内存空间作为交换设备使用的基于RAM的块设备。对要换出(swapout)的页面进行压缩后,不是写入磁盘,而是写入内存。可以使用的内存仅为完成压…

TQ210——底板部分原理图

TQ210——底板部分原理图 1、主电源接口(过压过流保护) 2、串行接口 2路5线RS232电平的DB9接口,4路TTLT电平扩展接口 COM1和PC之间通信需使用直连串口线 COM2和PC通信需使用交叉串口线 接口UART2可接GPRS模块实现打电话发短信功能&#xff1b…

有趣的灵魂百里挑一,Linux同学你低下头干嘛,起来说下这个问题。

今天我们不讲源码,不说面试题,我们来说点轻松的,聊点好玩的,我们来看看linux下有哪些酷酷的,有意思的命令。0x00 sl - 呜呜,让开,小火车来啦0x01 cowsay - 一起来 say hello0x02 cmatrix - 超级…

nodejs在cmd提示不是内部或外部命令解决方法

今天用cmd安装个库,结果发现node不是内部命令,于是搜索了下解决方法,解决方法是: . 找到变量值中node的安装地址,比如C:develop\nodejs,如果不是这个地址改成现在新的安装的地址,然后保存,重新打开cmd,输入 node -v 查看版本号,就会发现一切正常啦!当然这只针对于安…

用mtrace定位内存泄漏

一. 缘起有的公众号读者,看完我上次写给大学生的查bug方法后,希望我多分享一些查bug的实践经验和具体步骤,比如如何查内存泄漏和core dump问题。所以,就打算写这篇文章。二. 内存泄漏简介内存泄漏,是一个谈虎色变的问题…

为什么每个人都应该尝试Ubuntu下篇 Why Everyone Should Try Ubuntu 分享

但是老实说,我认为 Ubuntu 拥有长期的生存能力重要于其短期的实用主义。最近几年来,对于改进 Linux 桌面方面,Ubuntu 做得比其他发行版本要多。这就是我已详细讨论的,其带来的实际好处,但它也有许多不明确的地方。感谢…

陪我长大的村,镇,学校和家乡

我们村在广西河池市金城江区九圩镇江潭村山岳屯上面的字可以省略,因为看起来确实麻烦。地图上是这样显示的。小说我们村的那座桥,那座老桥据说是我爷爷那一辈人建起来的,用的是实打实的大石头。我上小学那段那会,我们同龄的小孩都…

Linux硬盘分区

MBR分区主分区:14,一块硬盘最多4个主分区,对主机必须有,主分区可以格式化ntfs,存数据。扩展分区:14,一块硬盘最多一个扩展分区,可以没有扩展分区,可以划分成更小的单元&a…

使用FileZilla Server轻松搭建个人FTP服务器

使用FileZilla Server轻松搭建个人FTP服务器 添加一个用户,然后在“共享文件夹”下设置将要设为FTP目录的文件夹和操作权限,点击确定 https://jingyan.baidu.com/article/ed15cb1bb6de421be3698188.html 可以为不同的用户创建不同的目录,新建…