Qt C++项目基础

目录

一、Qt框架的介绍

[二、Qt Creater系统的介绍](#二、Qt Creater系统的介绍)

三、创建一个Qt项目

四、Qt项目中的各个文件

​编辑

1.mainwindow.h

2.mainwindow.cpp

3.Main.cpp

4.项目名.pro

[5. ui文件](#5. ui文件)


一、Qt框架的介绍

Qt是一个跨平台的C++图形用户界面应用程序框架(框架≠软件) 。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。

二、Qt Creater系统的介绍

接下来的项目都是基于Qt Creator 4.11.1版本进行的。

三、创建一个Qt项目

这里创建的项目是一个Qt窗口应用。

黄圈中是两种创建/打开项目的方式。

两种方式都能够看到下面的窗口界面。

点击"Qt Widget Application→Choose"就是Qt窗口应用程序。

接下来进行对应操作

设置类名

其中:

  • mainwindow.h用来声明类的接口、信号变量、信号、槽
  • mainwindow.cpp用来实现类中声明的成员函数和逻辑
  • mainwindow.ui用来实现Qt Designer的可视化设计

这里可以使用默认的"mainwindow"作为名称,也可以自行设置,但是要注意每一个file都要统一。

然后,语言选择默认的<None>

编译套件选择默认的即可

点击"完成"

下面就是创建成功的项目了。

四、Qt项目中的各个文件

构建完成的项目就是这样。这里面mainwindow这个名字是取决于前面的设置的。

里面的文件中,Header是头文件,用作函数的声明

1.mainwindow.h

文件内容如下:

cpp 复制代码
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
  1. "#ifndef ...":防止头文件重复定义的预处理指令,代码框架为"ifndef .... endif ...."。如果未定义该窗口的头文件,就执行define下面的语句,反之就执行endif下面的语句。
  2. c++引入类的语句引入了QMainWindow基类。
  3. 命名空间namespace:前向声明Ui命名空间中的基类MainWindow。
  4. 自定义主窗口类MainWindow继承自基类QMainWindow
  5. MainWindow类中公共权限的是带有默认参数(默认参数为父窗口空指针)的构造函数和无参析构函数;私有权限的是指向Ui::MainWindow的指针ui,其中包含了所有界面组件的定义与布局。

2.mainwindow.cpp

cpp 复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}
  1. 调用基类都早函数,初始化QMainWindow对象,并动态创建Ui::MainWindow对象,用于管理UI控件。
  2. 通过调用setupUi加载Qt Designer设计的界面文件,this通常指的是mainwindow.ui
  3. 析构函数释放ui

3.Main.cpp

cpp 复制代码
#include "mainwindow.h"

#include <QApplication>

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

是整个项目的主入口,w.show()函数是用来显示窗口的,a.exec()是用来保持窗口持续运行的。

4.项目名.pro

为项目的项目文件。

5. ui文件

这个是项目图形化创建和设计的核心文件了,点击Forms/mainwindow.ui,就进入到界面设置中,具体可以参考文章【qt 如何设计好布局和漂亮的界面。_qt界面设计-CSDN博客

相关推荐
QiLinkOS7 分钟前
第三视觉理解徐玉生与他的商业活动(32)
大数据·c++·人工智能·算法·开源协议
汉克老师41 分钟前
GESP2026年6月认证C++一级( 第一部分选择题(8-15))精讲
c++·continue·运算符·while·break·gesp1级·模运算
鹏易灵1 小时前
C++——7.类与对象,掌握封装、继承、多态.详解
开发语言·c++·算法
初阳7851 小时前
【Qt】系统相关(2)——文件
开发语言·qt
Mortalbreeze1 小时前
深入 Linux 线程机制(三):线程互斥——竞争条件与互斥锁的本质
linux·运维·服务器·c++·算法
汉克老师1 小时前
GESP2026年6月认证C++一级( 第一部分选择题(1-7))精讲
c++·运算符·表达式·赋值·gesp1级·输入与输出·单循环
ALex_zry1 小时前
C++26 Freestanding 库扩展详解:无操作系统也能用标准库
java·jvm·c++
码上有光1 小时前
c++:map和set的底层实现
android·java·c++·set·map
zh_xuan2 小时前
c++ std::Any 用法
开发语言·c++·any
QiLinkOS11 小时前
第三视觉理解徐玉生与他的商业活动(30)
大数据·c++·人工智能·算法·开源协议