Qt中Ui文件的使用总结

文章原创,转载请注明链接

 

Qt中ui文件主要包括3种方式:直接使用法,单继承法和多继承法。

其中直接使用法和单继承法是先单纯地通过QtDesignor设计好界面以及控件信号等保存为ui文件,然后在需要ui的地方(通常是对话框等创建之前)通过UI::引用并创建UI中的控件的对象,如UI::Dialog ui,然后再创建了QDialog对话框dialog对象(dialog为ui中的对象名)之后为其套上设计的ui,即ui.setupUi(dialog),对话框显示时则和设计的ui中一样了。

单继承法这种方式也是QtCreator在创建相应的Qt GUI应用时默认的使用方式。

Qt中Ui文件的使用总结_第1张图片

Dialog::Dialog(QWidget *parent) :

    QDialog(parent),

    ui(new Ui::Dialog)

{

    ui->setupUi(this);

}

对应dialog.h文件内容如下:

#include <QDialog>

namespace Ui {

    class Dialog;

}

class Dialog : public QDialog

{

    Q_OBJECT

public:

    explicit Dialog(QWidget *parent = 0);

    ~Dialog();

private:

    Ui::Dialog *ui;

};

其中Dialog类声明为QDialog单继承,并且将其本身声明了一个私有的指针,然而在dialog.cpp中内容如下:

#include "dialog.h"

#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :

    QDialog(parent),

    ui(new Ui::Dialog)

{

    ui->setupUi(this);

}

Dialog::~Dialog()

{

    delete ui;

}

构造函数的定义QDialog(parent)ui(new Ui::Dialog)初始化列表,即完成了界面类的创建,ui指针的初始化,调用父类QDialog构造函数,创建Dialog。然后就可以通过ui指针来完成对界面的操作和控制。ui->setupUi(this);完成了界面的设置。

 

而多继承法则是直接将需要uiDialog等在定义时通过QDialogUI类一起继承构建对应的Dialog等类,然后在该类的构造函数中通过setupUi(this)套上/设置ui即可。

 

参考文献:

吴迪.零基础学Qt4编程

成洁,卢紫毅.Linux窗口程序设计—Qt4精彩实例分析

你可能感兴趣的:(linux,UI,delete,Class,dialog,qt)