QT 简单的计算器例子

开发工具:vs2010、qt5.1

1使用vs新建工程,Base Class 选择QDialog

注意:项目的路径最好是英文的,中文可能会报错。

2新建项目后双击打开“hello.ui”文件,摆放控件(和vs摆放控件一样),摆放完成后直接保存退出。

3.双击打开“hello.h”文件,往里面添加代码

#ifndef HELLO_H
#define HELLO_H

#include <QtWidgets/QDialog>
#include "ui_hello.h"

class Hello : public QDialog
{
    Q_OBJECT

public:
    Hello(QWidget *parent = 0);
    ~Hello();
signals:

public
    slots:
    void btnOK();
    void btnAdd();

private:
    Ui::HelloClass ui;
};

#endif // HELLO_H
View Code

4.打开“hello.cpp”文件,添加代码

#include "hello.h"
#include <qthread.h>
#include <QVariant>
#include <qstring.h>

Hello::Hello(QWidget *parent)
    : QDialog(parent)
{
    
    ui.setupUi(this);
    ui.leResult->setEnabled(false);
    connect(ui.pbOK,SIGNAL(clicked()),this,SLOT(btnAdd()));
    connect(ui.pbExit,SIGNAL(clicked()),this,SLOT(close()));
}

Hello::~Hello()
{

}

void Hello::btnOK()
{
    ui.pbOK->setText("Cancel");
    QThread::sleep(2);
    connect(ui.pbOK,SIGNAL(clicked()),this,SLOT(close()));
}

void Hello::btnAdd()
{
    QString num1 = ui.leNum1->text();
    QString num2 = ui.leNum2->text();
    double result;
    switch(ui.cbOper->currentIndex())
    {
        case 0:
            result = num1.toDouble() + num2.toDouble();
            break;
        case 1:
            result =num1.toDouble() - num2.toDouble();
            break;
        case 2:
            result = num1.toDouble() * num2.toDouble();
            break;
        case 3:
            result = num1.toDouble() / num2.toDouble();
            break;
    }
    ui.leResult->setText(QString::number(result));
}
View Code

 

 

posted on 2013-10-30 14:54  lovezj9012  阅读(458)  评论(0)    收藏  举报

导航