Qt 是一个跨平台的C++应用程序框架,支持Windows、Linux、Mac OS X、Android、iOS、Windows Phone、嵌入式系统等。也就是说,Qt 可以同时支持桌面应用程序开发、嵌入式开发和移动开发,很厉害,如果你有C++的基础就是最好的了,没有的话就赶紧去学习一下C++基础吧。

一.安装QT Creator

下载地址: ​​点击下载​

我们这里选择qt-opensource-windows-x86-mingw492-5.6.1-1.exe

然后就一直next安装就好了,这个真没什么好讲的

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_windows

好的,安装之后,我们就可以来创建一个属于自己的Hello QT工程了

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_windows_02

二.Hello QT

先介绍一下这款IDE的一些东西,首先是左侧边栏上面有五个Tab,分别是欢迎,编辑,设计,Debug和帮助,下面的就是一些操作键了,比如运行之类的

  • 欢迎 : 欢迎这个Tab下有三个选项,分别是Project,是你当前的项目,第二个是示例,就是一些QT项目的源码,还有一个教程,就是一些讲解的学习视频了
  • 编辑 : 这个Tab是写代码的,你打开了cpp的类,就是在这里写代码的
  • 设计 : 这个Tab是写UI的,你只有打开ui的文件才会进入这里
  • Debug: 这个Tab是不用多说了,debug的时候回走进来
  • 项目:
  • 帮助:查看官方的帮助文档

好的,我们现在准备创建一个QT工程

点击文件 - 新建文件或项目,或者点击欢迎 - Project - New Project都可以

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_android_03

这里我们选择Application - QT Widgets Application ,然后点击Choose

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_windows_04

写上项目名和地址,点击下一步

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_qt_05

这里选择编译器,我们只有一个MinGW 32的,如果你有两个,会有两个选项的,我们直接下一步就好了

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_windows_06

好的,这里就是创建基础的窗口类了,可以看到,我们选择新建一个MainWindow的类,继承QMainWindow,并且头文件为mainwindow.h,并且cpp的源文件为ainwindow.cpp,界面文件为ainwindow.ui

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_windows_07

可以看到,这里会让你选择是否加入版本控制,我们的新项目一般是没有的,但是可以看到,他会为我们创建四个我们上面提到的文件以及一个pro文件,这个文件我们等下再细说,点击下一步

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_qt_08

我们直接来运行一下

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_windows phone_09

可以看到我们弹出一个空白的窗口了

好的,我们的HelloQT项目创建完成

三.分析文件

我们来分析一下他创建的项目文件有什么含义

我们先开看下pro文件,这里我用注释说明

#-------------------------------------------------
#
# Project created by QtCreator 2018-04-06T21:22:39
#
#-------------------------------------------------

QT += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#指定生成的应用程序名
TARGET = HelloQT
#编译类型
#有五种
#1.app,应用程序
#2.lib,
#3.vcapp,VisualStudio应用
#4.vclib,VisualStudio库
#5.subdirs,特殊模板
TEMPLATE = app

#工程中包含的源文件
SOURCES += main.cpp\
mainwindow.cpp

#工程中包含的头文件
HEADERS += mainwindow.h

#工程中包含的UI文件
FORMS += mainwindow.ui

#默认不会创建的一些语法
#DESTDIR += ../bin : 指定生成的应用程序放置的目录
#CONFIG : qmake的一些配置
#还有很多

头文件我们暂时不去考虑,我们看下源文件,一个main.cpp,包含了一个main函数以及一个QApplication,实际上这代表着一个项目

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();

return a.exec();
}

这里看到程序执行到main函数后先创建了一个QT应用,定义为a,然后去创建MainWindow的对象w,实际上这个类才是窗口的真正实现,创建这个对象之后就直接show出来,然后return告诉程序已退出结束

那么这里好像也没有什么关键信息,我们目标直接转移到MainWindow

//头文件
#include "mainwindow.h"
#include "ui_mainwindow.h"

//构造函数 继承QMainWindow 和 初始化 ui
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//设置ui
ui->setupUi(this);
}
//析构函数 程序退出后回收ui
MainWindow::~MainWindow()
{
delete ui;
}

这里我们分析一下,实际上重点还是放在QMainWindow,他是什么?我们以后都会介绍,这里我们只要先看一下他做的一个动作就是ui指针设置了this ui

对应的析构函数退出

好的,那我们再看ui文件,实际上他就是一个空的,我们可以不用去看,ui可以拖动,也可以代码创建一些控件,我们可以写一段代码来验证一下,就写一个文本控件吧

先看代码实现,这就很简单了

//头文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QLabel>

//构造函数 继承QMainWindow 和 初始化 ui
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//设置ui
ui->setupUi(this);
//设置文件
QLabel* label = new QLabel;
label->setText("Hello 刘桂林");
//显示
label->show();
}
//析构函数 程序退出后回收ui
MainWindow::~MainWindow()
{
delete ui;
}

这里我们可以看到,我只是创建了一个QLabel指针,然后设置文本后show

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_android_10

这里要注意的是在main.cpp中你已经show了一个MainWIndow的对象,所以要注释掉,不然就会显示两个窗体了

我们再来看下ui的拖动怎么实现

QT开发(一)—— 安装QT Creator,创建属于你的Hello QT_qt_11

打开我们ui文件后可以看到控件非常的多,我们拖动一下Label后双击去编辑我们的文本就好了,至于其他的控件,我们下节课再去详细说明

这个的运行效果实际上跟上面是一样的

好了,我们的QT先入个门,后面更精彩的在等着你呢。