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++代码,从而把完整的界面构造出来

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

相关推荐
用户8055336980314 小时前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xcyxiner15 小时前
DicomViewer (vcpkg Windows和ubuntu编译)7
qt
Quz6 天前
QML Hello World 入门示例
qt
xcyxiner9 天前
DicomViewer (dcmtk读取dcm文件)5
qt
xcyxiner9 天前
DicomViewer (后台线程处理文件)4
qt
xcyxiner10 天前
DicomViewer (添加模型类)3
qt
xcyxiner10 天前
DicomViewer (目录调整) 2
qt
xcyxiner10 天前
dcmtk vtk vtk-dicom(gdcm) 编译(debug) v2
qt
LDR00612 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术12 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript