Qt教程2 您所在的位置:网站首页 openoffice安装目录里面没有program Qt教程2

Qt教程2

2024-07-03 22:31| 来源: 网络整理| 查看: 265

汇创慧玩 写在前面1.Qt整体目录结构2.Qt类库目录3.Qt用到的开发工具4.GNU 工具集5.MinGW6.MSYS(Minimal SYStem)7.Qt工具集8.Qt卸载

写在前面

苦辣酸甜时光八载,春夏秋冬志此一生 Qt简介: Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。 Qt 支持的操作系统有很多,例如通用操作系统 Windows、Linux、Unix,智能手机系统 Android、iOS、WinPhone, 嵌入式系统 QNX、VxWorks 等等。 Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。 在探索前期安装过程也是出现了星星点点的未知错误,摸黑探路,绕了许多弯路。最近好多小伙伴想用Qt搞一些事情,在安装过程中碰到了一些问题,找到笔者询问,基于此特将经验寄予此文,望更多志同道合的朋友在这条探索的路上少走弯路,尽入主题! 注: 本文在Windows10下以Qt5.12.12的安装为例。

1.Qt整体目录结构

不同版本 Qt 的安装目录结构大同小异,本节我们以 Qt 5.12.12 为例来说明,如下图所示。

D:\Qt\Qt5.12.12 安装根目录 5.12.12 Qt类库和源代码 Docs 帮助文档 Examples 示例代码 Licenses 许可协议 Tools 开发工具集 vcredist VC运行库 MaintenanceTool.exe Qt安装管理工具 mingw73_64 Qt类库根目录 Src Qt源代码目录 mingw73_64 MinGW工具集 QtCreator 集成开发环境

注意,~\5.12.12\ 和~\Tools\目录下都有 mingw73_64 目录,但是两者是有区别的:

~\5.12.12\mingw73_64\ 目录包含的是 Qt 的类库文件,例如头文件、静态库、动态库等,这些类库文件使用 MinGW 工具集编译而成。~\Tools\mingw73_64\ 目录包含的是 MinGW 工具集,例如编译器 g++、链接器 ld、make 工具、打包工具 ar 等。

QtCreator 使用 MSVC2015 编译生成的,所以安装目录里有一个 vcredist 文件夹存储 VC 运行库安装文件。

MaintenanceTool.exe ,对于离线安装包,它只能用于删除软件包,如果 Qt 开发环境是用在线安装方式装的,这个工具还可以管理开发环境组件和升级组件

Qt 类库的帮助文件位于 Docs 文件夹里,需要用Qt Assistant工具才能查看

Examples 里是示例代码,可以用 QtCreator 集成开发环境打开各个示例。

2.Qt类库目录 D:\Qt\Qt5.12.12\5.12.12\mingw73_64 Qt类库根目录 bin Qt运行库**.dll和qmake等生成工具 doc 帮助文档的配置文件 include 头文件目录 lib 链接库文件**.a mkspecs 不同系统和编译工具定制的生成脚本 phrasebooks 术语多国语言对照表 plugins 功能插件 qml QML开发模块 translations 多国语言翻译文件 QtCore Qt核心库 QtGui Qt底层绘图库 QtWidgets Qt窗口和控件库 ... 其他模块 imageformats 图片格式支持插件 platforms 操作系统平台支持插件 sqldrivers 数据库连接支持插件 ... 其他功能支持插件 3.Qt用到的开发工具

Qt 不是凭空产生的,它是基于现有工具链打造而成的,它所使用的编译器、链接器、调试器等都不是自己的,Qt 官方只是开发了上层工具。下面我们分几个部分讲解 Qt 使用到的工具链。

4.GNU 工具集

在上个世纪八十年代,计算机都是奢侈品,操作系统里最著名的是 Unix 家族, 当时还没有 Windows、Linux 之类的,Unix 系统都是商业软件,里面的应用软件也是商业软件, 全是封闭的环境。

系统程序员 Richard M. Stallman (RMS) 在此环境下创立了与众不同的 GNU 项目 (GNU’s Not Unix) , 以及推进自由软件发展的 Free Software Foundation (FSF) 自由软件基金会。

GNU 项目是为了创建自由的类 Unix 系统,也因此开发出来很多开源的系统工具,其中非常著名的就是 GCC (GNU Compiler Collection,GNU编译器套件)。

现在我们知道,GUN 开发类 Unix 系统的项目失败了,但是它开发的一系列工具集却用到了后来的 Linux 内核上,两者结合形成了今天的各种 Linux 发行版

在 GNU 工具集里面,开发时常见到的几个罗列如下(这些工具通常位于 Linux 或 Unix 系统里的 /usr/bin/ 目录)后面Linux教程会讲到:

工具说明gccGNU C 语言编译器。g++GNU C++ 语言编译器。ldGNU 链接器,将目标文件和库文件链接起来,创建可执行程序和动态链接库。ar生成静态库 .a ,可以编辑和管理静态链接库。make生成器,可以根据 makefile 文件自动编译链接生成可执行程序或库文件。gdb调试器,用于调试可执行程序。ldd查看可执行文件依赖的共享库(扩展名 .so,也叫动态链接库)。 5.MinGW

原本 GNU 工具只在 Linux/Unix 系统里才有,随着 Windows 系统的广泛使用, 为了在 Windows 系统里可以使用 GNU 工具,诞生了 MinGW(Minimalist GNU for Windows) 项目,利用 MinGW 就可以生成 Windows 里面的 exe 程序和 dll 链接库。

需要注意的是,MinGW 与 Linux/Unix 系统里 GNU 工具集的有些区别:

MinGW 里面工具带有扩展名 .exe, Linux/Unix 系统里工具通常都是没有扩展名的。MinGW 里面的生成器文件名为 mingw32-make.exe,Linux/Unix 系统里就叫 make。MinGW 在链接时是链接到 *.a库引用文件,生成的可执行程序运行时依赖 *.dll,而 Linux/Unix 系统里链接时和运行时都是使用*.so。

另外 MinGW 里也没有 ldd 工具,因为 Windows 不使用.so共享库文件。如果要查看 Windows 里可执行文件的依赖库,需- 要使用微软自家的 Dependency Walker 工具。Windows 里面动态库扩展名为 .dll,MinGW 可以通过 dlltool 来生成用于创建和使用动态链接库需要的文件,如 .def 和 .lib。

MinGW 原本是用于生成 32 位程序的,随着 64 位系统流行起来, 从 MinGW 分离出来了 MinGW-w64 项目,该项目同时支持生成 64 位和 32 位程序。Qt 的 MinGW 版本库就是使用 MinGW-w64 项目里面的工具集生成的。

如今, MinGW 现已被 MinGW-w64 所取代。

6.MSYS(Minimal SYStem)

由于ming-gw本身主要是编译链接等工具和头文件、库文件,并不包含系统管理,文件操作之类的shell环境,这对希望用类Unix命令的开发者来说是不够用的。所以MinWG官方又推出了MSYS(Minimal SYStem),相当于是一个部署在Windows系统中的小型Unix系统环境,移植了很多Unix/Linux命令行和配置文件等,是对MinGW的扩展。

MSYS 对于熟悉 Unix/Linux 系统环境或者要尝试学习 Unix/Linux 系统的人都是一种便利。MSYS 和 MinGW 的安装升级都是通过其官方的 mingw-get 工具实现,二者是统一下载安装管理的。

对于 MinGW-w64 项目,它对应的小型系统环境叫 MSYS2(Minimal SYStem 2),MSYS2 是 MSYS 的衍生版,不仅支持 64 位系统和 32 位系统,还有自己的独特的软件包管理工具,它从 Arch Linux 系统里移植了 pacman 软件管理工具,所以装了 MSYS2 之后,可以直接通过 pacman 来下载安装软件,而且可以自动解决依赖关系、方便系统升级等。装了 MSYS2 之后,不需要自己去下载 MinGW-w64,可以直接用 pacman 命令安装编译链接工具和 git 工具等。

7.Qt工具集 工具说明qmake核心的项目构建工具,可以生成跨平台的 .pro 项目文件,并能依据不同操作系统和编译工具生成相应的 Makefile,用于构建可执行程序或链接库。uicUser Interface Compiler,用户界面编译器,Qt 使用 XML 语法格式的 .ui 文件定义用户界面,uic 根据 .ui 文件生成用于创建用户界面的 C++ 代码头文件,比如 ui_*****.h 。mocMeta-Object Compiler,元对象编译器,moc 处理 C++ 头文件的类定义里面的 Q_OBJECT 宏,它会生成源代码文件,比如 moc_*****.cpp ,其中包含相应类的元对象代码,元对象代码主要用于实现 Qt 信号/槽机制、运行时类型定义、动态属性系统。rccResource Compiler,资源文件编译器,负责在项目构建过程中编译 .qrc 资源文件,将资源嵌入到最终的 Qt 程序里。qtcreator集成开发环境,包含项目生成管理、代码编辑、图形界面可视化编辑、 编译生成、程序调试、上下文帮助、版本控制系统集成等众多功能, 还支持手机和嵌入式设备的程序生成部署。assistantQt 助手,帮助文档浏览查询工具,Qt 库所有模块和开发工具的帮助文档、示例代码等都可以检索到,是 Qt 开发必备神器,也可用于自学 Qt。designerQt 设计师,专门用于可视化编辑图形用户界面(所见即所得),生成 .ui 文件用于 Qt 项目。linguistQt 语言家,代码里用 tr() 宏包裹的就是可翻译的字符串,开发人员可用 lupdate 命令生成项目的待翻译字符串文件 .ts,用 linguist 翻译多国语言 .ts ,翻译完成后用 lrelease 命令生成 .qm 文件,然后就可用于多国语言界面显示。qmlscene在 Qt 4.x 里是用 qmlviewer 进行 QML 程序的原型设计和测试,Qt 5 用 qmlscene 取代了旧的 qmlviewer。新的 qmlscene 另外还支持 Qt 5 中的新特性 scenegraph 。 8.Qt卸载

Step1: 运行MaintenanceTool.exeQt安装管理工具 在这里插入图片描述 Step2: 选择Remove all components,然后点击Next即可。

在这里插入图片描述 至此,恭喜您! Windows下Qt已成功卸载!!!

感谢阅读,我是汇创慧玩,希望文章能够解决您的问题。 事为之,须极致!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有