01--Qt与启动

一点点了解

qt:通俗来说是开发工具包

qtCreator:集成的编译器,将源代码变成可执行程序(可以当成qt桌面环境)

创建工程需要注意

  • 项目名称不要有特殊符号和中文

  • 项目工程保存路径可修改,路径不要带中文-

  • 创建类的基类有三种:带菜单栏窗口,空白窗口,对话框窗口

  • 创建类的类名首字母大写(否则报错)

  • 首次创建项目ui不使用。


了解生成的几个文件

  • .pro:工程文件,是qmake自动生成用于生产makfile的配置文件

    QT       += core gui//包含的模块,以后可以添加网络模块等
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets//大于qt4才包含此模块
    TARGET = 01_demo//应用程序名,生成的exe程序名称
    TEMPLATE = app//模板类型
    DEFINES += QT_DEPRECATED_WARNINGS//定义编译选项,如果qt某些功能过时会发出警告
    SOURCES += \
            main.cpp \
            widget.cpp
    HEADERS += \
            widget.h
    FORMS += \
            widget.ui
    
  • main.cpp

    #include "widget.h"//qt中一个类对应一个头文件,类名就是头文件名
    #include <QApplication>//qt系统提供的标准类名声明头文件
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);//应用程序类(整个后台管理的命脉。处理应用程序的初始化和结束;给所有事件处理调度)
        Widget w;//实例化对象,调用构造函数
        w.show();//调用显示函数,显示图形界面
    
        return a.exec();//主事件循环,在exec函数中,qt接受并处理用户和系统的事件,并且将他们传递给适当的窗口控件
    }
    
  • widget.cpp

    #include "widget.h"
    #include "ui_widget.h"
    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        ui->setupUi(this);
    }
    Widget::~Widget()
    {
        delete ui;
    }
    
  • widget.h

    #ifndef WIDGET_H
    #define WIDGET_H
    #include <QWidget>
    namespace Ui {
    class Widget;
    }
    class Widget : public QWidget
    {
        Q_OBJECT
    public:
        explicit Widget(QWidget *parent = 0);
        ~Widget();
    private:
        Ui::Widget *ui;
    };
    #endif // WIDGET_H
    
  • 总结一下:

    • .pro相当于一个配置文件,用于指定编译和链接规则,以生成可执行文件或库文件。
    • main.cpp是整个程序的入口点,通常会包含一些初始化代码,例如创建应用程序对象、创建窗口、设置窗口属性等
    • widget.h和widget.cpp文件通常用于实现应用程序的主窗口widget.h文件是窗口类的头文件,它定义了窗口类的成员变量和成员函数,并且声明了一些与界面相关的函数,例如响应用户操作的槽函数。widget.cpp文件是窗口类的实现文件,它包含了窗口类的所有成员函数的实现。widget.cpp文件通常会包含一些QT的UI组件(如按钮、标签等)和信号槽机制的相关代码,用于实现用户界面和用户交互。

确定代码书写位置

  • .pro:用于生成可执行文件
  • main.cpp:主函数
  • widget.cpp(自己创建的类):类的函数
    • 一般情况,窗口的属性和添加控件和对控件的操作都会在类的构造函数中书写。
    • 优点:可以使得main.cpp/主函数中无多与代码,程序阅读也方便。
  • widget.h:类和头文件
posted @ 2023-03-21 09:21  Lachlan_Yang  阅读(47)  评论(0编辑  收藏  举报