qt用設計器實現簡單四則運算計算器

////dialog.h

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QString>

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

private slots:


    void on_pushButton_1_clicked();
    void on_pushButton_2_clicked();
    void on_pushButton_3_clicked();
    void on_pushButton_4_clicked();
    void on_pushButton_5_clicked();
    void on_pushButton_6_clicked();
    void on_pushButton_7_clicked();
    void on_pushButton_8_clicked();
    void on_pushButton_9_clicked();
    void on_pushButton_0_clicked();

    void on_pushButton_add_clicked();
    void on_pushButton_sub_clicked();
    void on_pushButton_mul_clicked();
    void on_pushButton_div_clicked();
    void on_pushButton_c_clicked();
    void on_pushButton_eq_clicked();

private:
    Ui::Dialog *ui;
    QString num1,num2,expression;
    bool op;
    char myoperator;

};

#endif // DIALOG_H


////dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    //op=false;

}

Dialog::~Dialog()
{
    delete ui;
    op=0;
}
void Dialog::on_pushButton_0_clicked()
{
    if(!op){
        num1+="0";
    }
    else num2+="0";
    expression+="0";
    ui->lineEdit->setText(expression);
}
void Dialog::on_pushButton_1_clicked()
{
    if(!op){
        num1+="1";
    }
    else num2+="1";
    expression+="1";
    ui->lineEdit->setText(expression);
}

void Dialog::on_pushButton_2_clicked()
{
    if(!op){
        num1+="2";
    }
    else num2+="2";
    expression+="2";
    ui->lineEdit->setText(expression);
}

void Dialog::on_pushButton_3_clicked()
{
    if(!op){
        num1+="3";
    }
    else num2+="3";
    expression+="3";
    ui->lineEdit->setText(expression);
}

void Dialog::on_pushButton_4_clicked()
{
    if(!op){
        num1+="4";
    }
    else num2+="4";
    expression+="4";
    ui->lineEdit->setText(expression);
}

void Dialog::on_pushButton_5_clicked()
{
    if(!op){
        num1+="5";
    }
    else num2+="5";
    expression+="5";
    ui->lineEdit->setText(expression);
}

void Dialog::on_pushButton_6_clicked()
{
    if(!op){
        num1+="6";
    }
    else num2+="6";
    expression+="6";
    ui->lineEdit->setText(expression);
}

void Dialog::on_pushButton_7_clicked()
{
    if(!op){
        num1+="7";
    }
    else num2+="7";
    expression+="7";
    ui->lineEdit->setText(expression);
}

void Dialog::on_pushButton_8_clicked()
{
    if(!op){
        num1+="8";
    }
    else num2+="8";
    expression+="8";
    ui->lineEdit->setText(expression);
}

void Dialog::on_pushButton_9_clicked()
{
    if(!op){
        num1+="9";
    }
    else num2+="9";
    expression+="9";
    ui->lineEdit->setText(expression);
}

void Dialog::on_pushButton_add_clicked()
{
    op=true;
    myoperator='+';
    expression+="+";
    ui->lineEdit->setText(expression);
}
void Dialog::on_pushButton_sub_clicked()
{
    op=true;
    myoperator='-';
    expression+="-";
    ui->lineEdit->setText(expression);
}
void Dialog::on_pushButton_mul_clicked()
{
    op=true;
    myoperator='*';
    expression+="*";
    ui->lineEdit->setText(expression);
}
void Dialog::on_pushButton_div_clicked()
{
    op=true;
    myoperator='/';
    expression+="/";
    ui->lineEdit->setText(expression);
}
void Dialog::on_pushButton_c_clicked()
{
    num1=num2=expression="";
    myoperator=' ';
    op=false;
    ui->lineEdit->setText(expression);
}
void Dialog::on_pushButton_eq_clicked()
{
    switch(myoperator){
        case '+':expression=expression + "=" + QString::number(num1.toInt()+num2.toInt());break;
        case '-':expression=expression + "=" + QString::number(num1.toInt()-num2.toInt());break;
        case '*':expression=expression + "=" + QString::number(num1.toInt()*num2.toInt());break;
        case '/':expression=expression + "=" + QString::number(num1.toInt()/num2.toInt());break;
    default:break;
    }
    ui->lineEdit->setText(expression);
}

運行截圖:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章