24,854
社区成员
发帖
与我相关
我的任务
分享
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include<QDialog>
#include<QPushButton>
#include<QLineEdit>
#include<QString>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
QPushButton* pushButton;
QPushButton* pushButton_2;
QPushButton* pushButton_3;
QPushButton* pushButton_4;
QPushButton* pushButton_5;
QPushButton* pushButton_6;
QPushButton* pushButton_7;
QPushButton* pushButton_8;
QPushButton* pushButton_9;
QPushButton* pushButton_10;
QPushButton* pushButton_11;
QPushButton* pushButton_12;
QPushButton* pushButton_13;
QPushButton* pushButton_14;
QPushButton* pushButton_15;
QPushButton* pushButton_16;
QLineEdit* lineEdit;
float num1,num2,result;//数1、数2、结果
QString S;
char sign;
int mark;//点击过运算符号,mark=1,默认是0
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_12_clicked();
void on_pushButton_13_clicked();
void on_pushButton_14_clicked();
void on_pushButton_15_clicked();
void on_pushButton_16_clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//初始化变量
num1=0.0;
num2=0.0;
result=0.0;
S="";
mark=0;
//初始化部件对象指针
pushButton=new QPushButton("1");
pushButton_2=new QPushButton("2");
pushButton_3=new QPushButton("3");
pushButton_4=new QPushButton("4");
pushButton_5=new QPushButton("5");
pushButton_6=new QPushButton("6");
pushButton_7=new QPushButton("7");
pushButton_8=new QPushButton("8");
pushButton_9=new QPushButton("9");
pushButton_10=new QPushButton("0");
pushButton_11=new QPushButton("+");
pushButton_12=new QPushButton("-");
pushButton_13=new QPushButton("*");
pushButton_14=new QPushButton("/");
pushButton_15=new QPushButton("=");
pushButton_16=new QPushButton("C");
lineEdit=new QLineEdit("S");
lineEdit->setText(S);
//实现连接函数
connect(pushButton,SIGNAL(clicked()),this,SLOT(on_pushButton_clicked()));
connect(pushButton_2,SIGNAL(clicked()),this,SLOT(on_pushButton_2_clicked()));
connect(pushButton_3,SIGNAL(clicked()),this,SLOT(on_pushButton_3_clicked()));
connect(pushButton_4,SIGNAL(clicked()),this,SLOT(on_pushButton_4_clicked()));
connect(pushButton_5,SIGNAL(clicked()),this,SLOT(on_pushButton_5_clicked()));
connect(pushButton_6,SIGNAL(clicked()),this,SLOT(on_pushButton_6_clicked()));
connect(pushButton_7,SIGNAL(clicked()),this,SLOT(on_pushButton_7_clicked()));
connect(pushButton_8,SIGNAL(clicked()),this,SLOT(on_pushButton_8_clicked()));
connect(pushButton_9,SIGNAL(clicked()),this,SLOT(on_pushButton_9_clicked()));
connect(pushButton_10,SIGNAL(clicked()),this,SLOT(on_pushButton_10_clicked()));
connect(pushButton_11,SIGNAL(clicked()),this,SLOT(on_pushButton_11_clicked()));
connect(pushButton_12,SIGNAL(clicked()),this,SLOT(on_pushButton_12_clicked()));
connect(pushButton_13,SIGNAL(clicked()),this,SLOT(on_pushButton_13_clicked()));
connect(pushButton_14,SIGNAL(clicked()),this,SLOT(on_pushButton_14_clicked()));
connect(pushButton_15,SIGNAL(clicked()),this,SLOT(on_pushButton_15_clicked()));
connect(pushButton_16,SIGNAL(clicked()),this,SLOT(on_pushButton_16_clicked()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
S+="1";
lineEdit->setText(S);
if(mark==0)
num1=num1*10+1;
else
num2=num2*10+1;
}
void MainWindow::on_pushButton_2_clicked()
{
S+="2";
lineEdit->setText(S);
if(mark==0)
num1=num1*10+2;
else
num2=num2*10+2;
}
void MainWindow::on_pushButton_3_clicked()
{
S+="3";
lineEdit->setText(S);
if(mark==0)
num1=num1*10+3;
else
num2=num2*10+3;
}
void MainWindow::on_pushButton_4_clicked()
{
S+="4";
lineEdit->setText(S);
if(mark==0)
num1=num1*10+4;
else
num2=num2*10+4;
}
void MainWindow::on_pushButton_5_clicked()
{
S+="5";
lineEdit->setText(S);
if(mark==0)
num1=num1*10+5;
else
num2=num2*10+5;
}
void MainWindow::on_pushButton_6_clicked()
{
S+="6";
lineEdit->setText(S);
if(mark==0)
num1=num1*10+6;
else
num2=num2*10+6;
}
void MainWindow::on_pushButton_7_clicked()
{
S+="7";
lineEdit->setText(S);
if(mark==0)
num1=num1*10+7;
else
num2=num2*10+7;
}
void MainWindow::on_pushButton_8_clicked()
{
S+="8";
lineEdit->setText(S);
if(mark==0)
num1=num1*10+8;
else
num2=num2*10+8;
}
void MainWindow::on_pushButton_9_clicked()
{
S+="9";
lineEdit->setText(S);
if(mark==0)
num1=num1*10+9;
else
num2=num2*10+9;
}
void MainWindow::on_pushButton_10_clicked()
{
S+="0";
lineEdit->setText(S);
if(mark==0)
num1=num1*10;
else
num2=num2*10;
}
void MainWindow::on_pushButton_11_clicked()
{
S+="+";
lineEdit->setText(S);
sign='+';
mark=1;
}
void MainWindow::on_pushButton_12_clicked()
{
S+="-";
lineEdit->setText(S);
sign='-';
mark=1;
}
void MainWindow::on_pushButton_13_clicked()
{
S+="*";
lineEdit->setText(S);
sign='*';
mark=1;
}
void MainWindow::on_pushButton_14_clicked()
{
S+="/";
lineEdit->setText(S);
sign='/';
mark=1;
}
void MainWindow::on_pushButton_15_clicked()
{
S+="=";
switch (sign) {
case '+':
result=num1+num2;
break;
case '-':
result=num1-num2;
break;
case '*':
result=num1*num2;
break;
case '/':
result=num1/num2;
break;
default:
break;
}
S+=QString("%1").arg(result);//float转QString
lineEdit->setText(S);
}
void MainWindow::on_pushButton_16_clicked()
{
S="";
lineEdit->setText(S);
num1=0;
num2=0;
result=0;
mark=0;
}
pushButton = ui->pushButton;
pushButton2 = ui->pushButton2;
[/quote]
感谢大神pushButton = ui->pushButton;
pushButton2 = ui->pushButton2;