01黑马QT笔记之应用程序框架说明

01黑马QT笔记之应用程序框架说明

1 首先,点击文件新建项目,依次选择红色圈圈,然后choose。
在这里插入图片描述
2 进入以下画面,第一行为项目名字(我记得好像中文名字会编译出错),然后选择自己放项目的位置,勾选默认,下一步。
在这里插入图片描述
3 点击下一步。
在这里插入图片描述
4 类名表示我们要创建的类的名字,基类是我们创建的类继承的基类,我选择了QWidget,这个是所有窗口的基类,第一个是带菜单栏的基类;第三个是对话框的基类。这里不创建ui,ui是可以直接对窗口操作的界面。然后下一步。
在这里插入图片描述

5 我们将项目文件,头文件,cpp文件,主函数列出来,里面已经将写好的框架给出了注释
1)项目注释说明:

#-------------------------------------------------
#
# Project created by QtCreator 2020-04-21T13:22:59
#
#-------------------------------------------------
#下面这行表示模块
QT       += core gui                              #1 表示GUI模块

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets   #2 若版本超过qt4 则增加widgets模块,即QT前字母的可以省略

TARGET = 01_QtTest                                #3 应用程序名即项目名字
TEMPLATE = app                                    #4 模板变量,告诉qmake为这个应用程序生成哪种makefile。即指定makefile的类型,有多种。

# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0


SOURCES += main.cpp\                               #5 项目相应的cpp文件
        mywidget.cpp

HEADERS  += mywidget.h                             #6 项目的头文件

2)自定义窗口类头文件注释说明:

#ifndef MYWIDGET_H                          //1 防止头文件重复
#define MYWIDGET_H

#include <QWidget>                          //2 头文件 特点:1)没有.h后缀  2)头文件名与类名一样

class MyWidget : public QWidget             //3 开始我们自定义创建的类
{
    Q_OBJECT         //此行与信号和槽有关

public:
    MyWidget(QWidget *parent = 0);          //4 构造函数类内声明 在.cpp实现
    ~MyWidget();
};

#endif // MYWIDGET_H

3)自定义类类外实现说明:

#include "mywidget.h"

MyWidget::MyWidget(QWidget *parent)       //类的类外实现 MyWidget继承与QWidget类 使用QWidget的构造函数绑定父对象
    : QWidget(parent)
{
}

MyWidget::~MyWidget()
{

}

4)主函数的注释说明:

#include "mywidget.h"
#include <QApplication>              //1 应用程序类头文件

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);      //2 应用程序类对象,有且只有一个
    /* 3 作用:
          1)管理图形用户界面应用程序的控制流和主要设置。
          2)是Qt的整个后台管理的命脉它包含主事件循环,在其中来自窗口系统和其它资源的所有事件处理和调度。
             它也处理应用程序的初始化和结束,并且提供对话管理。
          3)对于任何一个使用Qt的图形用户界面应用程序,都正好存在一个QApplication 对象,
             而不论这个应用程序在同一时间内是不是有0、1、2或更多个窗口。
    */

    MyWidget w;                     //4 自定义窗口对象
    w.show();

    return a.exec();                //5 循环,等待用户操作完成 即接受并处理 用户和系统的事件 并且把它们传递给适当的窗口部件。

}

最后给出QT的模块图。即项目注释说明的1。例QT += core gui
在这里插入图片描述

发布了54 篇原创文章 · 获赞 1 · 访问量 696

猜你喜欢

转载自blog.csdn.net/weixin_44517656/article/details/105655820