目录
[二、Qt Creater系统的介绍](#二、Qt Creater系统的介绍)
[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
- "#ifndef ...":防止头文件重复定义的预处理指令,代码框架为"ifndef .... endif ...."。如果未定义该窗口的头文件,就执行define下面的语句,反之就执行endif下面的语句。
- c++引入类的语句引入了QMainWindow基类。
- 命名空间namespace:前向声明Ui命名空间中的基类MainWindow。
- 自定义主窗口类MainWindow继承自基类QMainWindow
- 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;
}
- 调用基类都早函数,初始化QMainWindow对象,并动态创建Ui::MainWindow对象,用于管理UI控件。
- 通过调用setupUi加载Qt Designer设计的界面文件,this通常指的是mainwindow.ui
- 析构函数释放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博客】

