9月 16, 2008

【筆記】Using Qt Designer

@
  既然 Qt (大概)多少會用了,這次我要來試試其附帶的所見即所得編輯器,也就是 Qt Designer。說實在這個我還不是很會用,所以這裡只做個很簡單的測試:如何將 Qt Designer 製作出來的檔案(.ui 檔)與實際編寫的 C++ 程式結合的方式。




  首先,打開 Qt Designer 會出現這樣一個畫面:選擇一個樣版或是元件作為「頂層」的視窗。看過網路上的範例,滿多人都是選擇 "Widget",所以這裡我也先照著做了。




  因為目前都還不會寫到元件功能,所以就隨便亂做畫面了。哈哈,偽月曆一份!




  完成之後,按下存檔,存在我預先建立的 Qt Designer 的資料夾裡。


  接著就是程式的部份了:

#include <QApplication>
#include "ui_design.h"

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
    QWidget *widget = new QWidget;

    Ui::Form ui;
    ui.setupUi(widget);

    widget->show();

    return app.exec();
}

  首先,比較要注意的是第二行,需要引括由 .ui 檔建立的標頭檔。

  不過其實,現在這個標頭檔還是不存在的。這個檔案會在編譯時,由 qmake 根據 Qt Designer 所建立的 .ui 檔產生。其中就包含了剛剛我所建立元件擺設。

  另外呢,還有中間 "Ui::Form ui" 的那兩行,是利用 Ui_Form::setupUi() 函式將我自行建立的 widget 作為包含了我剛剛建立的元件以及擺放位置的類別實體。有了實體之後,我們就可以簡單的利用 QWidget::show() 函式來顯示它了。


  接著,使用以下命令編譯程式:

qmake -project
qmake
make

  執行之後的結果:




  總之,好像又是個滿無聊的小測試。所以之後,再來試看看怎麼寫各個元件的處理程式吧。

0 回覆:

張貼留言