Qt入门指南:快速上手GUI开发


前言

在本篇文章中,我们将会学习有关qt方面的知识,其中包括qt的背景,Qt Creator的介绍,如何创建一个Qt界面,了解各部分的代码。

一、Qt背景介绍

对于互联网企业,主要包括四大岗位:开发,测试,运维(管理机器),产品经理(非技术岗,提出需求)。
对于开发,又可以细分:后端开发,前端开发,算法工程师,游戏开发等等。
对于前端开发,又可以细分:网页前端开发(网页),桌面应用开发(电脑应用程序),移动应用开发(手机应用程序)。我们所要学习的Qt技术本质就是进行客户端开发。

更准确一点,Qt特指进行桌面应用开发涉及到的一些技术。无法开发网页前端和移动应用。虽然Qt官方也支持移动应用开发,但是目前还没听说过有什么知名app是Qt开发的。

客户端开发主要任务:编写与用户交互的界面。
典型的有两种风格:
1.命令行界面/终端:TUI–>程序员用的
2.图形化界面:GUI -->普通用户使用。
Qt是用来编写桌面GUI的一套框架。
其实在Wins编写GUI程序,有很多种解决方案,Qt只是其中一种方式。

Qt是一个跨平台的C++图形用户界面应用程序框架。
框架,本质就是一些大佬发明出来,方便我们小白进行使用,写出来的代码也比较靠谱。
其实框架和库都是属于大佬把一些代码写好了,让你去使用。库是被程序员调用(程序员是主题);而框架,是需要程序员配合进行使用,完善填充框架中流出的一些细节。

编写C++代码,框架也是很重要的。C++生态是割裂的,离散的,不像Java一样对于框架极度依赖。
C++不同的开源社区,各自有各自的框架,各自为政。
相比之下,像Qt这种,你呢干杯大家共同认可的框架,C++整个生态中并不常见。

Qt支持各种系统,比如:wins,Linux,Mac,嵌入式等等。
Linux主要是给服务器进行使用的,服务器也不需要图形化界面。
TUI,基于命令操作,门槛更高,效率也更高。
GUI:基于图形化界面操作,门槛更低,效率也更低。

而嵌入式呢,也是Qt实际开发的一个主战场,比如我们日常使用的冰箱,洗衣机,路由器等等,这些设备内部也有计算机,这些计算机配置就不需要很高了,低配置,低成本。比如在一些工业领域就需要用到Qt图形化界面了。
很多汽车都引入了自动驾驶技术,而Qt在其中也有广泛的应用,可开发车载嵌入式系统和用户界面程序。

QT还存在很多优点:
1.跨平台性,几乎支持所有平台
2.简单上手,容易上手,学习Qt框架对学习其他框架有参考意义
3.一定程度简化了内存回收机制
4.开发效率高,能够快速构建应用程序
5.可以进行嵌入式开发

二、Qt Creator介绍

具体安装步骤的话,大家可以查阅一些资料,我们安装的是Qt Creator。

Qt Creator 是⼀个轻量级的跨平台集成开发环境(IDE),专为使⽤ Qt 框架进⾏应⽤程序开发⽽设 计。 它是⼀个功能强⼤、易于使⽤、快速且⾼效的⼯具,被⼴泛⽤于编写各种类型的应⽤程序,如桌⾯应 ⽤程序、移动应⽤程序和嵌⼊式系统等。 Qt Creator 提供了⼀个可视化的界⾯设计器和代码编辑器,可以帮助开发者更快捷地创建复杂的⽤⼾ 界⾯和处理各种事件。 它还包含了调试⼯具、版本控制⼯具、⾃动完成和智能提⽰等功能,以及⽀持多语⾔和跨平台的开发
环境。

Qt Creator 的主要特点包括:

  1. 紧密集成的 Qt 框架:Qt Creator 专⻔为 Qt 开发⽽设计,因此它与 Qt 框架集成得⾮常紧密,使开
    发者可以更容易地管理和部署他们的应⽤程序。
  2. 强⼤的编辑器:Qt Creator具有⼀些先进的编辑器功能,如语法⾼亮、代码折叠、智能提⽰、⾃动完成和代码重构。
  3. 集成的调试器:Qt Creator内置了调试器,允许开发⼈员在代码中设置断点以及检查变量、堆栈和调⽤树等信息。
  4. ⾼效的构建系统:Qt Creator提供了⼀个⾼效的构建系统,可以⾃动构建和部署应⽤程序,同时⽀持使⽤不同的编译器和平台。
  5. 可视化界⾯设计器:Qt Creator具有⼀个可视化界⾯设计器,它允许开发⼈员在没有编写代码的情况下创建复杂的用户界⾯

  6.多语⾔⽀持:Qt Creator⽀持多种编程语⾔,包括 C++、QML、JavaScript 等。

总⽽⾔之,Qt Creator 是⼀个功能⻬全、易于使⽤且⾼效的跨平台 IDE,适⽤于各种类型的应⽤程序开 发,特别是那些使⽤ Qt 框架的开发者.

我们安装完毕之后,可以发现是存在这几个部分的。
在这里插入图片描述
🌟 Assistant 是Qt支持的离线版本的官方文档。我们建议查看英文文档,而不是中文文档。
🌟 Designed是Qt设计师,图形化的设计界面的工具,通过拖拽的方式就可以快速生成界面,经常搭配Qt Creator一起使用。
🌟 Linguist是Qt的语言家,作用是对国际化进行支持。它可以允许你创建一个语言配置文件,把界面上需要用到的各种文字,都配置到文件中,并且在文件中提前的把各种语言的翻译都配置进去。我们就可以实现一键式切换语言的效果。
🌟 Qt 5.14.2这个是Qt的命令行。
🌟 Qt Creator是我们的集成开发环境,之后的代码基本都是通过这个进行编写。

三、学会创建一个Qt界面

我们在学习之前,首先要创建一个Qt界面
✨1.打开上面介绍的Qt creator ,我们会看到这样的一个界面。

✨我们打开左上角的文件
在这里插入图片描述

✨点击新建文件
在这里插入图片描述
  如果我们想要使用Qt编写一个GUI程序,我们就选择第一个,我们传统的开发GUI的方式叫做Qt Widget.
  Qt console是终端界面。
  Qt for Python说明也支持Python。
  Qt Quick是Qt搞出来的一套新的用来开发GUI的方式

✨我们点击Qt widget之后,会出现下面界面
在这里插入图片描述
  自己选择文件路径与文件名。注意:文件名不要带中文。

✨下一步之后,会出现这样界面
在这里插入图片描述
  qmake是老牌的Qt构建工具
  Cmake并非Qt专属,很多开源项目都会使用cmake
  Qbs是新一代的Qt构建工具,使用很少。

  构建系统,通过编写Qt写的程序,设计到一系列的元编程技术,通过代码生成代码。Qt框架在编译的时候,自动先调用一系列的生成工具,基于你写的代码,生成一系列的其他C++代码,最终编译的代码,也是最后生成的这些代码。

✨两次下一步之后,会出现这样的界面
在这里插入图片描述

  我们使用 Qt creator创建项目,会自动的生成一些代码出来,生成的代码就包含一个类。此处我们就是选择自动生成的这个父类是谁。

  QMainWindow完整的应用程序窗口(包含菜单栏,工具栏等)
  QWidget表示一个控件
  QDialog表示一个对话框

  我们此处选择QWidget

在这里插入图片描述

  我们发现这个选择框中有一个form文件,我们记得勾选上。这个地方很关键
  我们创建图像化界面的程序有两种:
    1.直接通过C++代码的方式创建
    2.通过这个form文件,以图形化的方式生成界面。我们此时就可使用Qt Creator来编辑这个ui文件从而以图形化的方式快速方便生成图形界面

✨下一步

在这里插入图片描述
这个地方选择翻译文件对应的语言,我们暂时不关注,此处与国际化相关。

✨下一步
在这里插入图片描述

✨继续下一步就可以,最终完成之后我们就成功创建了。

四、认识QT Creator代码

我们创建成功了就会出现下面界面
在这里插入图片描述

我们分别看一下左边这几个文件
🔆main.cpp
在这里插入图片描述
🔆widget.h

在这里插入图片描述
🔆widget.cpp

在这里插入图片描述

🔆widget.ui

在这里插入图片描述

  我们双击打开这个文件。此时Qt Creator就会调用Qt Designed,打开ui文件,图形化的界面编辑器

在这里插入图片描述

  此时我们再点击左侧的编辑按钮,此时显示的内容,就是ui文件的本体

在这里插入图片描述
  我们把上面的格式称为XML格式,Qt中使用XML文件就是去描述程序的界面是什么样的。进一步的qmake会调用相关的工具,一句话个XML文件生成一些C++代码,从而把完整的界面构造出来。

🔆test.pro

在这里插入图片描述

🔆test.pro
我们上面介绍的都是源代码,如果编译运行Qt项目,还会生成新的中间文件。
我们可以点击右下角运行,此时我们再打开这个文件夹

在这里插入图片描述

我们退回上一层目录,可以发现多创建了一个文件。这个就是生成的临时文件

在这里插入图片描述

我们打开看一下
在这里插入图片描述

在这里插入图片描述

总结

以上就是今天要讲的内容,本文仅仅详细介绍了 qt方面的知识,其中包括qt的背景,Qt Creator的介绍,如何创建一个Qt界面,了解各部分的代码。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lim 鹏哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值