#include "calculatorview.h"
#include "ui_calculatorview.h"
/*
项目:计算器
宽:380 高:680
按钮: 80X100
间隙: 20
*/
CalculatorView::CalculatorView(QWidget *parent) : QDialog(parent),ui(new Ui::CalculatorView)
{
ui->setupUi(this);
//init
this-> temp = "";
this->model = new CalculatorModel;
}
CalculatorView::~CalculatorView()
{
delete ui;
}
//0
void CalculatorView::on_btn_num_0_clicked()
{
if(this-> temp != "")
{
this-> temp += this->ui->btn_num_0->text();
this->ui->tv_display->setText(this->temp);
}
}
//1
void CalculatorView::on_btn_num_1_clicked()
{
this-> temp += this->ui->btn_num_1->text();
this->ui->tv_display->setText(this->temp);
}
//2
void CalculatorView::on_btn_num_2_clicked()
{
this-> temp += this->ui->btn_num_2->text();
this->ui->tv_display->setText(this->temp);
}
//3
void CalculatorView::on_btn_num_3_clicked()
{
this-> temp += this->ui->btn_num_3->text();
this->ui->tv_display->setText(this->temp);
}
//4
void CalculatorView::on_btn_num_4_clicked()
{
this-> temp += this->ui->btn_num_4->text();
this->ui->tv_display->setText(this->temp);
}
//5
void CalculatorView::on_btn_num_5_clicked()
{
this-> temp += this->ui->btn_num_5->text();
this->ui->tv_display->setText(this->temp);
}
//6
void CalculatorView::on_btn_num_6_clicked()
{
this-> temp += this->ui->btn_num_6->text();
this->ui->tv_display->setText(this->temp);
}
//7
void CalculatorView::on_btn_num_7_clicked()
{
this-> temp += this->ui->btn_num_7->text();
this->ui->tv_display->setText(this->temp);
}
//8
void CalculatorView::on_btn_num_8_clicked()
{
this-> temp += this->ui->btn_num_8->text();
this->ui->tv_display->setText(this->temp);
}
//9
void CalculatorView::on_btn_num_9_clicked()
{
this-> temp += this->ui->btn_num_9->text();
this->ui->tv_display->setText(this->temp);
}
//=
void CalculatorView::on_btn_num_eq_clicked()
{
//获取num2 并且计算结果
int num = this-> temp.toInt();
this->model->setNum2(num);
QString result = this->model->doCalculator();
this->ui->tv_display->setText(result);
//uninit
this-> temp = "";
}
//c
void CalculatorView::on_btn_num_c_clicked()
{
this->ui->tv_display->setText("请输入...");
this-> temp = "";
this->model->setNum1(0);
this->model->setNum2(0);
}
//+
void CalculatorView::on_btn_num_add_clicked()
{
int num = this-> temp.toInt();
this->model->setFlag("+");
//判断如果 = 0 说明没有num1
if(num == 0)
{
//获取屏幕上的数字作为num1
QString display = this->ui->tv_display->text();
this->model->setNum1(display.toInt());
}
else
{
this->model->setNum1(num);
}
this-> temp = "";
}
//-
void CalculatorView::on_btn_num_sub_clicked()
{
int num = this-> temp.toInt();
this->model->setFlag("-");
if(num == 0)
{
//获取屏幕上的数字作为num1
QString display = this->ui->tv_display->text();
this->model->setNum1(display.toInt());
}
else
{
this->model->setNum1(num);
}
this-> temp = "";
}
//*
void CalculatorView::on_btn_num_take_clicked()
{
int num = this-> temp.toInt();
this->model->setFlag("*");
if(num == 0)
{
//获取屏幕上的数字作为num1
QString display = this->ui->tv_display->text();
this->model->setNum1(display.toInt());
}
else
{
this->model->setNum1(num);
}
this-> temp = "";
}
// /
void CalculatorView::on_btn_num_div_clicked()
{
int num = this-> temp.toInt();
this->model->setFlag("/");
if(num == 0)
{
//获取屏幕上的数字作为num1
QString display = this->ui->tv_display->text();
this->model->setNum1(display.toInt());
}
else
{
this->model->setNum1(num);
}
this-> temp = "";
}