日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Qt中Ui文件的使用總結(jié)

 guitarhua 2013-11-01

文章原創(chuàng),轉(zhuǎn)載請(qǐng)注明鏈接

 

Qt中ui文件主要包括3種方式:直接使用法,單繼承法和多繼承法。

其中直接使用法和單繼承法是先單純地通過QtDesignor設(shè)計(jì)好界面以及控件信號(hào)等保存為ui文件,然后在需要ui的地方(通常是對(duì)話框等創(chuàng)建之前)通過UI::引用并創(chuàng)建UI中的控件的對(duì)象,如UI::Dialog ui,然后再創(chuàng)建了QDialog對(duì)話框dialog對(duì)象(dialog為ui中的對(duì)象名)之后為其套上設(shè)計(jì)的ui,即ui.setupUi(dialog),對(duì)話框顯示時(shí)則和設(shè)計(jì)的ui中一樣了。

單繼承法這種方式也是QtCreator在創(chuàng)建相應(yīng)的Qt GUI應(yīng)用時(shí)默認(rèn)的使用方式。

Dialog::Dialog(QWidget *parent) :

    QDialog(parent),

    ui(new Ui::Dialog)

{

    ui->setupUi(this);

}

對(duì)應(yīng)dialog.h文件內(nèi)容如下:

#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單繼承,并且將其本身聲明了一個(gè)私有的指針,然而在dialog.cpp中內(nèi)容如下:

#include "dialog.h"

#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :

    QDialog(parent),

    ui(new Ui::Dialog)

{

    ui->setupUi(this);

}

Dialog::~Dialog()

{

    delete ui;

}

構(gòu)造函數(shù)的定義QDialog(parent)ui(new Ui::Dialog)初始化列表,即完成了界面類的創(chuàng)建,ui指針的初始化,調(diào)用父類QDialog構(gòu)造函數(shù),創(chuàng)建Dialog。然后就可以通過ui指針來完成對(duì)界面的操作和控制。ui->setupUi(this);完成了界面的設(shè)置。

 

而多繼承法則是直接將需要uiDialog等在定義時(shí)通過QDialogUI類一起繼承構(gòu)建對(duì)應(yīng)的Dialog等類,然后在該類的構(gòu)造函數(shù)中通過setupUi(this)套上/設(shè)置ui即可。

 

參考文獻(xiàn):

吳迪.零基礎(chǔ)學(xué)Qt4編程

成潔,盧紫毅.Linux窗口程序設(shè)計(jì)—Qt4精彩實(shí)例分析

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多