先來看代碼
/********************************************************************************** QT Study**** Created: Sat Aug 4 19:00:21 2012** by: Grant**** ********************************************************************************/#include <QApplication>#include <QLabel>#include <QPushButton>#include <QHBoxLayout>#include <string>#include <sstream>#include <QString>#include <QDialog>#include "ui_gotocelldialog.h"using namespace std;int frac(int N){if (N > 1)returnN * frac(N-1);return 1;}int main(int argc, char *argv[]){QApplication app(argc, argv); //QApplication管理圖形使用者介面的各種應用,比如滑鼠動作,預設顏色等。int result, number = 5;result = frac(number);QString title;QWidget *window = new QWidget;window->setWindowTitle("Scientific Computing Demo by Grant");QLabel *label = new QLabel("<h2><i>The fractional of 5 is </i> </h2>" + title.setNum(result) );QPushButton *button = new QPushButton("Quit");QObject::connect( button,SIGNAL(clicked()),&app,SLOT(quit()) );QVBoxLayout *layout = new QVBoxLayout;QDialog *diaglog = new QDialog; Ui::GoToCellDiag ui; ui.setupUi(diaglog);layout->addWidget(diaglog);layout->addWidget(label);layout->addWidget(button);window->setLayout(layout);window->show();return app.exec();}
讓我們來看看一條有趣運算式
QDialog *diaglog =newQDialog;
這條語句是先開闢一段記憶體空間,然後在其上建立一個QDialog組件(widget)。Widget是windowgadget(視窗配件)的縮寫。
視窗設計好了,那麼我們需要在上面加內容,即初始化。初始化前,我們需要聲明一個類ui,這個ui包含了表單的子視窗以及布局,就是我們在designer裡邊看到的。
Ui::GoToCellDiag ui;
然後用對象ui裡邊的成員函數setupUi來初始化對話方塊。
ui.setupUi(diaglog);
過程就是兩個開闢記憶體,然後初始化視窗。
Qt還是蠻有意思的。