手把手教QT—2. 启航篇,手动建工程及工程文件讲解

本文详细介绍了如何手动创建一个Qt工程,包括新建无中文路径的文件夹,使用Qt Creator创建Empty qmake Project,添加源文件,以及编写.pro和.cpp文件。同时,文章讲解了.pro文件的作用,如添加模块、设置应用名和模板类型,并举例说明了如何根据控件选择所需模块。最后,展示了简单的源文件代码,包括添加头文件,创建对象和设置父对象。

前言
本节来讲手动建Qt工程。既然Qt界面设计部分的代码是自动生成的,那为什么还要讲手动建工程。对于初学者来说,打好基础十分重要。为了初学者更好地理解Qt,印象更深刻,本节还是要讲解一下简单的手动建工程,并讲解pro文件。建议读者跟着小编一起建工程,如果说真的急于进入项目开发,可以直接看本文后半部分-对工程文件的讲解,重点是pro文件讲解,再进入下一节。话不多说,开始本节讲解。
手动建工程
首先建一个无中文路径的文件夹,用于存放工程。
在这里插入图片描述
打开Qt Creator,新建工程,点击New Project;
在这里插入图片描述
在弹出来的页面点击其他项目->Empty qmake Project->Choose,这里是建空的工程
在这里插入图片描述
接下来填入工程名称,创建路径选择之前建好的空文件夹,点击下一步;
在这里插入图片描述
点击下一步;
在这里插入图片描述
点击完成;
在这里插入图片描述
此时可以看到一个建好的空工程了;
在这里插入图片描述
鼠标放在工程名右击鼠标,点击添加新文件…,我们来添加源文件;
在这里插入图片描述
在弹出的页面选择C+±>C++ Source File->Choose,建立源文件;
在这里插入图片描述
输入名称,注意:这里是 .cpp文件,不是.c。点击下一步;
在这里插入图片描述
点击完成;
在这里插入图片描述
可以看到源文件已经添加到工程中,工程建立完毕,此时可以进入代码的编写;
在这里插入图片描述
.pro文件敲入代码,后面我会详细介绍pro文件;

QT += widgets

TARGET = 02_qt
TEMPLATE= app

SOURCES += \
    main.cpp

源文件main.cpp敲入代码,同样,后面我会详细介绍源文件;

#include <QApplication>
#include <QWidget>      //窗口控件基类
#include <QLabel>       //标签控件

    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QWidget w;      //创建对象

        w.setWindowTitle("关注<程序媛讲QT>");    //窗口标题

        /*标签控件*/
        QLabel mylabel;               //创建对象
        mylabel.setText("HELLO QT");  //给标签填入内容
        mylabel.setParent(&w);        //指定父对象,如不指定,窗口与标签无关系
        mylabel.move(50,50);        //移动标签

        w.show();                     //窗口显示

        return a.exec();
}

代码完成,点击左下角运行按钮或者快捷键(Ctrl+R),编译并运行代码;
在这里插入图片描述
可以看到工程运行正常。
在这里插入图片描述

工程文件讲解
.pro文件
本节的pro文件代码:

QT += widgets

TARGET = 02_qt
TEMPLATE= app

SOURCES += \
    main.cpp
  • pro文件注释:.pro文件注释是以#开始,到该行结束。
  • QT += widgets:这里是添加模块,Qt的模块有很多种,只有添加了所用控件的模块,才能在工程头文件或源文件中include该控件的头文件,并对控件进行操作。下面是Qt5的几个基本模块列举:
模块名用途
Qt Widgets图形界面
Qt Webkit浏览器引擎
Qt Test测试
Qt SQL数据库
Qt Core内部基本模块
Qt GUI内部基本模块
Qt Network网络
Qt Mulitmedia多媒体
Qt Quick另一种框架,用java script实现
Qt QML另一种框架,用java script实现
Qt Quick Controls另一种框架,用java script实现
Qt Quick Dialogs另一种框架,用java script实现

以本节为例,在工程开发中,如果我们想使用QWidget窗口控件基类,只需要鼠标放在代码QWidget上,键盘按F1打开帮助文档,在帮助文档中可以知道QWidget怎么使用,从下图可以看到使用QWidget窗口控件基类所需要在pro文件中添加的是widgets模块。
在这里插入图片描述

  • TARGET = 02_qt:生成的应用名,工程编译后生成的exe文件名。
    在这里插入图片描述
  • TEMPLATE=app:qmake为这个应用程序生成哪种makefile,本工程qmake生成app类型的makefile,makefile类型通常会有以下选择:
makefile类型作用
app建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。
lib建立一个库的makefile。
vcapp建立一个应用程序的VisualStudio项目文件。
vclib建立一个库的VisualStudio项目文件。
subdirs这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。
  • SOURCES +=main.cpp:工程中包含的源文件
    还有本工程未用到但常见的:
  • HEADERS += include/painter.h :工程中包含的头文件
  • FORMS += forms/painter.ui:工程中包含的.ui设计文件
  • RESOURCES += qrc/painter.qrc:工程中包含的资源文件

.cpp文件
本节的源文件代码:

#include <QApplication>
#include <QWidget>      //窗口控件基类
#include <QLabel>       //标签控件

    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QWidget w;      //创建对象
        w.setWindowTitle("关注<程序媛讲QT>");    //窗口标题

        /*标签控件*/
        QLabel mylabel;               //创建对象
        mylabel.setText("HELLO QT");  //给标签填入内容
        mylabel.setParent(&w);        //指定父对象
        mylabel.move(50,50);        //移动标签

        w.show();                     //窗口显示

        return a.exec();
}
  • #include :添加要使用到控件的头文件。
  • QLabel mylabel:在使用控件前需要创建对象,这里的QLabel为标签控件,QLabel的功能就是显示文字或者图片,没有用户交互功能,后续章节我会讲解各个控件的使用。
  • mylabel.setParent(&w):指定父对象,如不指定,窗口与标签无关系。
  • w.show():窗口显示,只有这句才会让窗口显示。
  • return a.exec():程序进入消息循环,等待可能输入进行响应。这里main()把控制权转交给Qt,Qt完成事件处理工作,当应用程序退出的时exec()的值就会返回。在exec()中,Qt接受并处理用户和系统的事件并且把它们传递给适当的窗口部件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值