用Qt练习C++写一个小的阶乘对话框

来源:互联网 发布:it软件行业工作总结 编辑:程序博客网 时间:2024/06/12 00:57

先来看代码


/********************************************************************************** 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还是蛮有意思的。

原创粉丝点击