qt -- 创建Qt项目以及对.pro、.h文件的介绍

    科技2024-12-22  7

    目录

    一、创建项目

    二、.pro文件


     一、创建项目

    Location

    kits(构建套件)

    Details(类信息)

    汇总

     

    注意:

     点击创建项目后, 选择项目路径以及给项目起名称。 名称---不能有中文、不能有空格、不能有中文路径。默认创建有窗口类,基类有三种选择: QWidget 、QMainWindow.QDialog

     main函数

    #include "mainwindow.h"

    #include <QApplication>

    //main程序的入口,argc命令行变量的数量,argv命令行的数组

    int main(int argc, char *argv[])

    {

        QApplication a(argc, argv); //a应用程序对象,在qt中,应用程序对象有且仅有一个

        MainWindow w; //窗口对象

        w.show(); //窗口对象默认不会显示,必须要调用show方法显示窗

        return a.exec(); //应用程序对象进入消息循环

    }

        Application a 应用程序对象, 有且仅有一个。     myWidget w 实例化窗口对象。     w.show()调用 show函数显示窗口。     return a.exec()让应用程序对象进入消息循环机制中,代码阻塞到当前行。

    二、.pro文件

    .pro:

    //qt中包含的模块 QT += core gui        //大于4版本以上 包含widget模块 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets    //生成的.exe程序的名称 TARGET = demo      //模板   应用程序模板   Application TEMPLATE = app    //生成release和debug版本: CONFIG += debug_and_release CONFIG(debug, debug|release){ DESTDIR = $$PWD/../bin/Debug/ }else{ DESTDIR = $$PWD/../bin/Release/ } DEFINES += QT_DEPRECATED_WARNINGS CONFIG += c++11 SOURCES += \                 //源文件         main.cpp \         mainwindow.cpp HEADERS += \              //头文件         mainwindow.h FORMS += \         mainwindow.ui

    模板变量告诉qmake为这个应用程序生成哪种makefile。

    下面是可供使用的选择: TEMPLATE= app        app---建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。        lib---建立一个库的makefile。        vcapp---建立一个应用程序的VisualStudio项目文件。        vclib---建立一个库的VisualStudio项目文件。        subdirs---这是一个特殊的模板, 它可以创建一个能够进入特定目录并为一个项目文件生成makefile.并且为它调用make的 makefile。

    模块:

    三、.h文件

    #ifndef MAINWINDOW_H

    #define MAINWINDOW_H

    #include <QMainWindow>

    namespace Ui {

    class MainWindow;

    }

    class MainWindow : public QMainWindow

    {

        Q_OBJECT        //  Q_OBJECT宏,允许类中使用信号和槽的机制

    public:

        explicit MainWindow(QWidget *parent = nullptr);      //构造函数

        ~MainWindow();   //析构函数

    private:

        Ui::MainWindow *ui;

    };

    #endif 

    Processed: 0.032, SQL: 8