////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
#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);
}
運行截圖: