【第一章】初识Qt

简介: 【第一章】初识Qt

1Qt概述

1.1认识Qt

Qt是一种跨平台的应用程序和用户界面框架,使用c++ 语言开发,由Qt Company(开发维护Qt的一个公司)支持和维护。Qt框架广泛应用于开发GUI应用程序,同时也可以开发非GUI程序,如命令行工具和服务器。Qt常用于电脑桌面应用开发,而电脑桌面应用开发又是前端开发中的一个分支。再说白一点,Qt就是用来搞前端的。

那么作为众多前端开发技术中的一员,Qt又有哪些特点呢?

1.2Qt的核心特性

  • 跨平台性:可跨平台是Qt最突出的特点之一.支持多个桌面操作系统(Windows、macOS、Linux)和移动操作系统(iOS、Android)。
  • 信号与槽机制:信号即事件,槽即响应这些事件的方法。这是Qt的一个核心概念,也Qt进行事件驱动编程的方式。
  • 模块化与工具:根据设计需求选择相应的模块。Qt配备了强大的工具,如Qt Designer(界面设计)、Qt Creater(集成开发环境)和其它辅助工具。

1.3Qt的发展历史

  • 1991年:挪威Trolltech(奇趣)公司的创始人Haavard Nord和Eirik Chambe-Eng首次提出Qt的概念,试图开发一个跨平台的C++图形化用户界面。
  • 1995年:Qt的第一个版本被Trolltech发布,主要用于UNIX和Linux平台。
  • 1996年:推出了支持windows平台的Qt版本,大大扩展了Qt的应用市场和应用范围。
  • 2001年:Qt3.0发布,引入了网络支持和XML处理。
  • 2008年:诺基亚收购了Trolltech公司,并将Qt作为软件开发的核心软件。
  • 2010年:发布Qt4.7,引入Qt Quick,一个用于创建动态用户界面的新框架。
  • 2012年:Qt的开发和维护权转让给了现在的Company公司。同年发布Qt5.0。
  • 2020年:推出Qt6.0.这一版本在保持向后兼容的同时,优化了数据处理和3D图形的能力,提供了更多现代化的开发特性。

Qt的发展依赖于活跃的开发者社区。每年Qt都会有多次的迭代和更新,每个主要版本的发布都会带来显著的改进和新功能。

Qt的版本分为商业版和开源版,商业版一般是企业在用,作为初学者使用开源版就足够了。

1.4QtSDK的下载和安装

Qt SDK(Software Development Kit)是一个全面的开发工具集,专为Qt开发者设计,包含了创建Qt应用程序所需的所有工具和库。这个工具集旨在提供一站式的解决方案,以简化安装和配置过程,让开发者能够快速启动并进行Qt项目开发。

点击进去之后选择一个版本进行下载,由于是国外的网站,下载的速度是很慢的,有需要的朋友可以私我,微信发给你。

下载完之后,直接默认安装就行了。

2.创建Qt项目

弹出一个对话框,选择Qt Widgets Application

接下来为项目命名,并确定路径。建议命名和路径都不要带中文,因为可能在以后导致找不到文件等错误(教训)

接下来在Build system选择构建系统工具,qmake用于自动生成makefile文件。

选择编译套件,其中Qwidget表示一个用户界面的主窗口。是所有用户界面的基类,提供了基本的应用程序窗体功能。

选择翻译文件,这些文件允许开发者为不同的语言环境提供不同的文本翻译,使得应用程序可以支持多语言用户界面。

编译套件提供了工具和库,使得开发者可以构建和编译Qt应用程序。

创建成功之后就是以下界面:

我们可以看到,创建的项目里面会自动的生成了一些文件,这些文件跟我们刚才选的选项有关。下面我们来分析这些文件的作用

2.1分析初始化文件

  1. 24-5-9.pro文件:是一个项目文件,用于定义整个项目的配置和构建规则。它被qmake工具用来生成Makefile,从而指导编译过程。
  2. widget.h:这是一个头文件,包含Widget类成员以及函数的声明。Widget类即窗口类。
  3. main.cpp:应用程序的入口点,负责启动程序,创建和显示窗口。比如创建Widget类的实例对象。
  4. widget.cpp:包含Widget类的具体实现,实现了在widget.h中声明的方法。包括窗口的构造函数,事件处理等。
  5. widget.ui:这是一个XML格式的用户界面文件,用于Qt Designer。它定义了图形用户界面的布局和属性,如按钮、文本框和其他控件的位置和样式。widget.cpp中的代码通常通过调用Ui::Widget类加载和使用这个文件来构造GUI。Ui::Widget类是由uic工具从widget.ui自动生成的。

总结

qmake工具生成的.pro文件定义了整个项目的构建配置,main.cpp文件设置程序的入口和主窗口,widget.cpp/widget.h文件定义和实现了主窗口的功能,比如点击某个按钮产生什么效果等。widget.ui则负责描述窗口的视觉布局。

2.2Widget类

其中查看widget.h文件代码我们可以发现,Widget类继承自QWidget类,QWidget类是所有用户界面的基类。

正是因为继承,Widget类才能使用了QWidge类提供的所有属性和方法,例如处理用户输入、显示输出、管理窗口等。

2.3main.cpp

2.4Qt Designer

Qt Designer是Qt开发环境中的一个强大的工具,允许开发者通过图形化界面来设计和构建CUI。它是一个所见即所得的编辑器,使得创建用户界面变得简单而直观。

设计模式就是Designer模式

设计好的界面被保存为XML格式的 .ui 文件,这些文件可以被 Qt 的 uic(用户界面编译器)工具自动转换为相应的 C++ 代码,也可以在运行时直接加载。所以我们构建用户界面布局有两种方式,一种是借用Designer模式生成,一种是纯代码生成,可混合使用。

相关文章
|
编译器 Linux C++
Qt笔记总结(上)
Qt笔记总结的上篇
260 0
Qt笔记总结(上)
|
5月前
|
XML 编译器 C++
Qt 基本知识
Qt 基本知识
55 1
|
6月前
|
API
[QT5] QT5基本知识
[QT5] QT5基本知识
75 0
|
11月前
QT入门基础(二)
QT入门基础(二)
|
11月前
|
Linux API 调度
QT入门基础(一)
QT入门基础(一)
|
编解码 开发框架 Linux
Qt入门学习
学习Qt并使用Qt
269 0
Qt入门学习
|
网络协议 Linux
QT 学习笔记(十四)
QT 学习笔记(十四)
|
数据处理 调度 C++
QT 学习笔记(十七)
QT 学习笔记(十七)
|
缓存 网络协议 Linux
QT 学习笔记(十五)
QT 学习笔记(十五)
|
网络协议 网络安全 云计算
QT 学习笔记(十二)
QT 学习笔记(十二)