widget.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
ui->lineEdit->setReadOnly(true);//不能编辑
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()//按钮1
{
temp +='1';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_2_clicked()//按钮2
{
temp +='2';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_3_clicked()//按钮3
{
temp +='3';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_4_clicked()//按钮4
{
temp +='4';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_5_clicked()
{
temp +='5';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_6_clicked()
{
temp +='6';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_7_clicked()
{
temp +='7';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_8_clicked()
{
temp +='8';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_9_clicked()
{
temp +='9';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_10_clicked()
{
temp +='0';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_11_clicked()
{
temp +='.';
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_13_clicked()
{
semiotic = '+';
num1 = temp.toDouble();
temp="";
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_14_clicked()
{
semiotic = '-';
num1 = temp.toDouble();
temp="";
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_15_clicked()
{
semiotic = '*';
num1 = temp.toDouble();
temp="";
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_16_clicked()
{
semiotic = '/';
num1 = temp.toDouble();
temp="";
this->ui->lineEdit->setText(temp);
}
void Widget::on_pushButton_12_clicked()
{
num2 = temp.toDouble();
temp="";
//qDebug()<<num2;
if(semiotic=='+')
{
num3 = num1 + num2;
this->ui->lineEdit->setText(QString::number(num3));
}
else if (semiotic=='-')
{
num3 = num1 - num2;
this->ui->lineEdit->setText(QString::number(num3));
}
else if (semiotic=='*')
{
num3 = num1 * num2;
this->ui->lineEdit->setText(QString::number(num3));
}
else if (semiotic=='/')
{
if(num2==0.0)
{
QMessageBox::warning(this, "提示","除数不能为0,请重新输入");
this->ui->lineEdit->setText("0");
}
else
{
num3 = num1 / num2;
this->ui->lineEdit->setText(QString::number(num3));
}
}
}
void Widget::on_pushButton_17_clicked()
{
this->ui->lineEdit->setText("0");
temp="";
num1=0;
num2=0;
num3=0;
}
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QString>
#include <QMessageBox>
#include <QDebug>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_pushButton_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_10_clicked();
void on_pushButton_11_clicked();
void on_pushButton_13_clicked();
void on_pushButton_14_clicked();
void on_pushButton_15_clicked();
void on_pushButton_16_clicked();
void on_pushButton_12_clicked();
void on_pushButton_17_clicked();
private:
Ui::Widget *ui;
double num1,num2,num3;
char semiotic;
QString temp;
};
#endif // WIDGET_H