(2) qml诞生的原因 和Qt Creator开发环境的介绍

文章目录

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的解释

相关推荐
来恩10033 小时前
C# 类与对象详解
开发语言·c#
komo莫莫da4 小时前
寒假刷题Day19
java·开发语言
ElseWhereR4 小时前
C++ 写一个简单的加减法计算器
开发语言·c++·算法
※DX3906※5 小时前
cpp实战项目—string类的模拟实现
开发语言·c++
wjs20245 小时前
Nginx 安装配置指南
开发语言
美味小鱼5 小时前
实践Rust:编写一个猜数字游戏
开发语言·游戏·rust
Dr.勿忘6 小时前
C#面试常考随笔8:using关键字有哪些用法?
开发语言·unity·面试·c#·游戏引擎
dal118网工任子仪6 小时前
92,[8] 攻防世界 web Web_php_wrong_nginx_config
开发语言·php
wjs20246 小时前
SQLite Update 语句详解
开发语言
加油,旭杏6 小时前
【go语言】接口
开发语言·后端·golang