QT 之基础(一) 详解UI文件设计与运行机制

一、项目文件组成

1.1 创建一个项目文件

QT 之基础(一) 详解UI文件设计与运行机制_第1张图片

 QT 之基础(一) 详解UI文件设计与运行机制_第2张图片

 QT 之基础(一) 详解UI文件设计与运行机制_第3张图片QT 之基础(一) 详解UI文件设计与运行机制_第4张图片

 

 建立好项目如下QT 之基础(一) 详解UI文件设计与运行机制_第5张图片

 

(1)项目组织文件【untitled.pro】

  • 存储项目设置文件
QT       += core gui  //表示项目中添加core gui模块             
 
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets  //条件执行语句,Qt主版本大于4时,才加入widgets语句
 
TARGET = untitled             //表示生成目标可执行文件的名称
TEMPLATE = app                //项目使用的模板是app

(2)主程序入口文件【main.cpp】

  • 实现函数main()函数程序文件 
#include "mainwindow.h"
#include 
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);  //定义并创建应用程序
    MainWindow w;                //定义并创建窗口
    w.show();                    //显示窗口
 
    return a.exec();             //应用程序运行
}

 (3)窗体界面文件【mainwindow.ui】

  • 一个XML格式存储的窗体上的元件及其布局文件。
  • 任何界面窗体或者组件都是用类封装的,一个类一般有一个.h和.cpp文件

 (4).h文件【mainwindow.h】

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include 
 
namespace Ui {           //一个命名空间Ui,包含一个类MainWindow
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
 
private:
    Ui::MainWindow *ui;  //Ui::MainWindow定义了一个指针
};
 
#endif // MAINWINDOW_H
  • 命名空间里面定义的类是ui_mainwindow.h里面的类,用于描述界面组件的。
  • ui指针:指向可视化界面设计,后面要访问界面上的组件,都需要通过这个指针
  • 宏Q_OBJECT是任何实现信号、槽或属性的强制性要求。不管是否需要实现这些机制,都要 使用这个宏,否则会引发一些函数的奇怪行为。

 (5).cpp文件【mainwindow.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;
}
  • ui_mainwindow.h 文件自动加入的
  • 析构函数简单的删除用new创建的指针ui

你可能感兴趣的:(qt,ui,开发语言)