Qt的学习(一)

1.什么是Qt

Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。

客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格:

1.命令行界面/终端界面(黑框框) -->TUI (gcc, gdb专业软件(给程序用的))

2.图形化界面-> GUI(普通用户用的)

综上所述,Qt用来编写桌面的GUI程序的一套框架。在Windows编写GUI程序,也是有很多种的解决方案的,Qt只是其中的一种。

Windows 下还有哪些方案可以开发GUI?

1.WindowsAPI windows系统提供原生API

开发起来非常原始 也非常繁项

2.MFC 当年(上个世纪90年代)影响力非常深远的~

3.Qt(1991年左右)诞生了( 和MFC不同,MFC早都已经不更新了,寄了),Qt仍然在不停的推陈出新,更新新的版本,至今仍然非常有生命力。Qt是基于C/C++搭建出来的一些GUI开发的技术体系,后来微软,自己搞了一个编程语言C#(Csharp)

4WindowsForms给C#(net)量身定做的一套开发GUI技术体系~

5.WPF

6.UWP

7.Electron 本质上是把基于HTML这样的网页,打包成一个windows上运行的客户端程序~这个技术体系,最初是用来开发atom"文本编辑器的~~ Github开发的~

后来atom就寄了~~(被微软搞的VSCode给干肌)

比较大的缺点,开发出来的程序,运行效率,低于上面介绍的一些原生开发的技术体系的

Qt虽然只是上述解决方案中的其中一个,仍然属于是其中非常能打的(商业公司的产品,使用Qt非常多的,对应的就业岗位相比于其他的技术方案也是更多的)。

Qt优势,能够跨平台,不仅仅支持Windows,也支持Linux,还支持Mac。

Qt是一个跨平台的C++图形用户界面应用程序框架

所谓框架,本质上是一群大佬发明出来的,让普通的程序员写出来的代码也比较靠谱。

库和框架,都是属于大佬把一些代码写好了,让你去使用。

库,是被程序员调用的.(程序员是主体)

框架,则是占主体~~程序员配合框架,完善填充框架中留出的一些细节

1.1 Qt⽀持的平台

嵌入式系统,也是Qt实际开发中的一个主战场。日常使用的,冰箱,洗衣机,路由器,投影仪......这些设备内部也有计算机,这种设备里面的计算机,硬件配置就不需要很高了。低配置,低成本。

有些嵌入式系统,也是需要运行图形化界面的程序的,这个时候,Qt就可以起到作用了.尤其是在一些工业设备上当然,这个领域中,Qt也收到了安卓的挑战。

1.2 1.5Qt的优点

跨平台,几乎支持所有的平台;

接口简单,容易上手,学习QT框架对学习其他框架有参考意义。

一定程度上简化了内存回收机制 半自动的垃圾回收,能够简化内存释放,也能够尽可能小的影响程序的运行效率。

开发效率高,能够快速的构建应用程序。

有很好的社区氛围,市场份额在缓慢上升。

可以进行嵌入式开发。

2. Qt开发环境

Qt开发环境,需要安装三个部分:

2.1 Qt的下载与安装

qt:5.14版本;

账号1533722647@qq.com

zS@7945685213

是Qt SDK中内置的c++编译器,就是一个windows版本的gcc/g++;

下载安装完成之后,配置环境变量。

Linux也有一个环境变量,叫做PATH,输入的命令,就会去PATH下对应的目录中查找对应的程序。我们此处需要把Qt SDK中的某个目录加入到Path环境变量中,要添加的目录,是这个包含了一大堆动态库和exe的目录。

为啥要配置这个环境变量:

1)让操作系统/QtCreator工具,能够找到QtSDK中提供的exe

2)也是运行Qt程序的时候,能够找到对应.dll动态库~

环境变量,也可以理解成一种简单的"进程间通信"机制

2.2 使用qt creater创建一个qt项目

2.3 qt项目创建并运行

2.4 代码解读

Linux中的exec. 底层是进程程序替换,即把可执行文件中的代码和数据,替换到当前进程中

(夺舍)。当前Qt中的exec和Linux中的exec没有任何关系,只是名字恰好是一样的。

2.5 头文件

cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H
//header guard ,保证头文件只包含一次

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

Qt中使用xml文件就是去描述程序的界面是啥样的,进一步的qmake会调用相关的工具,依据这个xml文件生成一些C++代码,从而把完整的界面构造出来

本文就到这里,谢谢观看!

相关推荐
Code季风1 分钟前
Gin 中间件详解与实践
学习·中间件·golang·go·gin
专注VB编程开发20年1 小时前
javascript的类,ES6模块写法在VSCODE中智能提示
开发语言·javascript·vscode
sealaugh328 小时前
aws(学习笔记第四十八课) appsync-graphql-dynamodb
笔记·学习·aws
黄雪超8 小时前
JVM——函数式语法糖:如何使用Function、Stream来编写函数式程序?
java·开发语言·jvm
ThetaarSofVenice8 小时前
对象的finalization机制Test
java·开发语言·jvm
水木兰亭8 小时前
数据结构之——树及树的存储
数据结构·c++·学习·算法
思则变9 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
鱼摆摆拜拜9 小时前
第 3 章:神经网络如何学习
人工智能·神经网络·学习
lijingguang9 小时前
在C#中根据URL下载文件并保存到本地,可以使用以下方法(推荐使用现代异步方式)
开发语言·c#
aha-凯心9 小时前
vben 之 axios 封装
前端·javascript·学习