目录
1.什么是QT
QT 是一个跨平台的 C++ 图形用户界面库,支持多个系统,用于开发具有图形界面的应用程序。它由挪威公司 TrollTech(现为 Digia 的一部分)出品,后来更名为 The Qt Company。QT 不仅仅是一个图形用户界面库,它还包含用于网络通信、线程、数据库、正则表达式处理、XML 处理、JSON、国际化、音频和视频处理等的库。
对于GUI的开发方式,QT只是其中一种,由于GUI也大多应用在客户端,而不是服务器,因此主要是在windows下环境的开发,当然也有许多GUI的开放方式:
基于c/c++的:
1.首先就是比较古老的,windows提供的原生API, Windows API,开发较为繁琐。
2.利用面向对象思想封装成类--MFC就是其中之一,由微软公司提供的GUI开发库。
3.同时代也诞生出了QT,也是利用了面向对象的思想,但是QT一直在推成出新,一直在更新,但是MFC已经很久不更新了。
后来微软自己又推出了新的体系例如c# (.net)下的 Windows Forms,之后又升级成了WPF,UWP.
2.环境搭建
无论是哪一种开发工具,我们都需要准备三件事:
1.下载c/c++的编译器(gcc,cl.exe)。
2.QT SDK(qt软件开发工具包的安装),不过一般SDK会内置一个C++的编译器(mingw下的gcc)。
3.集成开发环境VS (比较重量级,功能更多,但需要额外配置,初学不建议),QTcreater(有些许bug,不过上手方便好用,适合初学),Eclipse等(生态有限)。
不过现在对于这三个东西,你安装QTcreator就已经足够了。
QT SDK的下载
首先我们去官方下载qt sdk,官网点击这里:Index of /archive/qt,选择一个较新的版本进行安装例如5.14进入文件夹内,2.6G的这个大小的就是我们qt的sdk,选择合适的系统安装。
国外网站下载比较慢,所以下载是比较慢的。安装之后就点击一路next基本上就可以了。
其中选择安装的组件,windos下我们就用Mingw--与QT creater就可以,如果你使用VS进行开发,那么可以安装Msvc.最后配置一下环境变量,后面的操作就比较方便。
打开文件会发现关于QT的又许多个文件,其中QT Assistance是官方文档,QT designer是支持拖拽式的图形界面开发,linguist QT语言家,支持国际化。我们主要使用的是QT creater集成开发环境。
QT的使用
使用方法和VS类似,我们首先创建项目,在项目里可以看见左侧有许多,开发GUI我们就使用application,选择了左边,右边也有许多开发选项,选择wigets applicatiion(图形化界面模板)。
此时还要进行构建项目的配置,第一个选择路径,其次还有配置构建工具这里就是用qmake,这也是老牌的实用的功能工具了。
之后就是关于文件的设置。
首先使用QT创建项目会创建一些代码,这些代码会包含一个类,而这里的Base class就是选择该类的父类,包括有三个类(QMianWindow 完整的应用程序窗口,Qwidgets表示一个控件,即窗口上的一个部件 Qdialog表示一个对话框的开发)。当前学习我们就使用第二个Qwidgets即可。
然后选择翻译,这个我们不用关注,之后就是构建套件,选择哪一个编译器,如果你之前电脑还安装了VS这样的,你会发现,这里有许多编译器,这里我们就使用当前的MingW即可。最后汇总选择NULL即可。之后就为我们生成了整个项目(包括头文件,源文件,form文件等)。
对于左下角我们可以进行运行调试。构建的项目中的文件,以及调用的类等QT creator都会帮我们创建好.
QT构建项目
简单的helloworld标签的编写,两种方式实现:
第一种方式,直接通过图形化组件的拖拽实现,双击widget.ui进入面板设计,选择Display widget中的lable标签,此时QT Deigner右上角中会出现一个树形的你的组件,此时的ui文件会多出一部分代码代表这个组件,进一步的qmake在编译项目的时候,基于该部分生成一段c++代码。
此时我们重新运行就可以看到发生了变化。在我们的项目路径下的buildXXXX这个文件中的ui_widget.h,也就是我们的父类文件,在这里面生成了对应的代码:
第二种方式写代码的方式
首先重新创建一个项目,一般我们在添加组件的代码放在.cpp的父类中的构造函数中
在此时前,我们需要直到每创建了一个组件就需要你去包含该组件名对应的头文件,创建组件时使用堆栈都可以,建议用堆ÿ