文章目录
- qml诞生原因
- Qt Quick应⽤程序
- Qt Creator环境
- 1、MSVC
- 2、MinGW
- MSVC的优缺点
- MinGW的优缺点
- 最后的选择
- 延伸阅读
- 一些常用的快捷键
- 统一格式化代码
- 统一qml 语言的格式
- Locator 定位器
- 帮助
qml诞生原因
可以在Qt5中开发的不同类型的经典应⽤程序。桌⾯应⽤程
序正在发⽣着改变,不久之后移动设备将会为占据我们的世界。移动设备的
⽤户界⾯设计⾮常不同。它们相对于桌⾯应⽤程序更加简洁,只需要专注的
做⼀件事情。动画效果是⼀个⾮常重要的部分,⽤户界⾯需要⽣动活泼。传
统的Qt技术已经不适于这些市场了。
由此qml诞生
Qt Quick应⽤程序
在现代的软件开发中有⼀个内在的冲突,⽤户界⾯的改变速度远远⾼于我们
的后端服务。在传统的技术中我们开发的前端需要与后端保持相同的步调。
当⼀个项目在开发时⽤户想要改变⽤户界⾯,或者在⼀个项目中开发⼀个⽤
户界⾯的想法就会引发这个冲突。敏捷项项目需要敏捷的⽅法。
Qt Quick 提供了⼀个类似HTML声明语⾔的环境应⽤程序作为你的⽤户界⾯
前端(the front-end),在你的后端使⽤本地的c++代码。这样允许你在两端
都游刃有余
Qt Creator环境
需要先到环境里面去构建套件kit
链接到我们下载qt的目录 会自动识别该目录下面的编译套件 常用的有mingw和 msvc
配置相关的套件
1、MSVC
即Microsoft Visual C++ Compiler,即微软自己的编译器。
我们下载Windows下的OpenCV时,解压后里面有两个文件夹,一个是build,一个是source,build这个文件夹实际上是官方已经提前给我们编译好了的库,会带两个文件夹VC14,VC15(分别与Visual Studio的版本有对应关系),这两个文件夹下的库可以直接运行不需要编译将VS作为Qt的开发环境也是使用这个编译器的缘故,但是,使用的必须是msvc编译器,不能够跨平台。
2、MinGW
我们都知道GNU在Linux下面鼎鼎大名的gcc/g++,MinGW则是指Minimalist GNU for Windows的缩写它是将GNU开发工具移植到Win32平台下的产物,即一套Windows上的GNU工具集。
用其开发的程序不需要额外的第三方DLL支持就可以在Windows下运行,相对地,不使用动态库导致的就是编译出来的程序大很多。也是可以设置使用静态库的,mingw编译器需要自己手动编译source文件生成库文件,mingw这个编译器能够跨平台,能够在linux、arm等平台使用,这些平台使用的编译器都是g++、gcc。
MSVC的优缺点
优点:
qtcreator的debuger有功能缺陷,经常会出现变量无法查看的问题,棘手的bug还是需要在VS环境下进行调试。很多人的开发模式就是qtcreator写代码,VS下面做调试。
缺点:
不能跨平台
编码的问题,QT5的Qstring默认是UTF8格式,QT5极力推介把源码用UTF8格式存储。 但是MSVC只支持带BOM的UTF8格式,qmake不支持带BOM的UTF8格式,逼我只能用GBK么。这样的话,用qt5,每次都要Qstring::fromLocal8bit(“我是中国人”);况且就算BOM问题解决了,源代码是UTF8了。MSVC的执行编码也是GBK
MinGW的优缺点
优点:
能跨平台
缺点:
MinGW无法利用生成的dump文件在windbg或VS下面定位到出错的代码
Scene3D在MinGW64位Release和MinGW32位Debug模式下运行直接闪退,而64位Debug和32位Release却正常运行。
动态删除继承QuickItem的对象,有几率导致非法内存访问,可以定位到问题在Qt源码中Renderer中的一处
最后的选择
到底选择哪个版本,MinGW 比较方便,配置易上手适合初学者,MSVC功能强大,适合进阶,但是具体项目上要根据依赖的第三方库选择版本。
如果你的第三方库是msvc的,能可能就必须msvc,如果第三方库是mingw的可能就必须mingw。
跨平台开发的话,用的库基本上一定是Linux能用的库,而Linux能用的库一定是在mingw下支持会比较好。(mingw甚至能 include unistd.h 之类的Linux专用头文件),那就优选mingw。
来源:本文为CSDN博主「吻等离子」的原创文章
原文链接:https://blog.csdn.net/qq_43445867/article/details/127889570
延伸阅读
Qt中的各种编译器
1.uic:UI编译器,将.ui文件转化为ui_*.h文件
2.rcc:资源编译器,将.qrc文件转换成qrc_*.h文件
3.moc:元对象编译器,将含有Q_OBJECT的头文件转换成标准.h文件
4.qmake : 把pro文件编译成makefile文件,然后可以调用make命令
5.MSVC:微软VC++编译器
6.MinGW:gcc编译器
一些常用的快捷键
- Ctrl+B - 构建项目
- Ctrl+R - 运⾏项目
- Ctrl+Tab - 切换已打开的⽂档
- Ctrl+k - 打开定位器
- Esc - 返回
- F2 - 查找对应的符号解释。
- F4 -在头⽂件与源⽂件之间切换(只对c++代码有效)
快捷键配置的位置如上
统一格式化代码
可能需要在此处进行统一的格式化处理代码
限制为MIME类型 :text/x-c++src; text/x-c++hdr; text/x-csrc; text/x-chdr; text/x-objcsrc; text/x-objc++src
没有clang format 需要去网上下载一个 然后指定路径即可
统一qml 语言的格式
creator 自带格式化 qml语言的格式化 可以在 qt quick 里面去把相关的 保存时自动格式化给带上
Locator 定位器
左边底部可以显⽰弹出⼀系列的选项。如果你只是想搜索你项目中的⼀个⽂
件,你只需要给出⽂件第⼀个字⺟提⽰就可以了。定位器也接收通配符,⽐
如*main.qml也可以查找。你也可以通过前缀搜索来搜索指定内容的类型
帮助
可以查找所有qt api的解释