上面是我的微信和QQ群,欢迎新朋友的加入。
参考链接:https://blog.youkuaiyun.com/qq_41068877/article/details/82626823
1.创建一个计算器的界面
2.源码
创建一个CPP文件和H文件
Cpp源码
#include "model.h"
model::model()
{
}
void model::setNum1(int num)
{
num1 = num;
}
void model::setNum2(int num)
{
num2 = num;
}
void model::setFlag(QString flag)
{
this->flag = flag;
}
int model::doExpr()
{
int result = 0;
if(flag == "+")
result = num1+num2;
else if(flag == "-")
result = num1-num2;
else if (flag == "*")
result = num1*num2;
else if(flag == "/")
{
if(num2 == 0)
return -1;
else
result = num1 / num2;
}
return result;
}
H文件源码
#ifndef MODEL_H
#define MODEL_H
#include<QString>
class model
{
public:
model();
//设置数字
void setNum1(int num);
void setNum2(int num);
//设置符号
void setFlag(QString flag);
//计算
int doExpr();
private:
//用于计算的2个数字num1,num2,符号flag
int num1;
int num2;
QString flag;
};
#endif // MODEL_H
在界面上,操作按钮之后,数据或者数学运算是给到这里的
界面头文件源码
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include"model.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void on_pushButton_clicked();
void on_pushButton_34_clicked();
void on_pushButton_38_clicked();
void on_pushButton_13_clicked();
void on_pushButton_33_clicked();
void on_pushButton_37_clicked();
void on_pushButton_30_clicked();
void on_pushButton_32_clicked();
void on_pushButton_36_clicked();
void on_pushButton_35_clicked();
void on_pushButton_42_clicked();
void on_pushButton_41_clicked();
void on_pushButton_40_clicked();
void on_pushButton_43_clicked();
void on_pushButton_31_clicked();
void on_pushButton_39_clicked();
private:
Ui::MainWindow *ui;
QString tmp;
int num;
model * model1;
};
#endif // MAINWINDOW_H
界面源码
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
model1 = new model;
ui->setupUi(this);
tmp = "";
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
tmp +="7";
this->ui->textEdit->setText(tmp);
}
void MainWindow::on_pushButton_34_clicked()
{
tmp +="8";
this->ui->textEdit->setText(tmp);
}
void MainWindow::on_pushButton_38_clicked()
{
tmp +="9";
this->ui->textEdit->setText(tmp);
}
void MainWindow::on_pushButton_13_clicked()
{
tmp +="4";
this->ui->textEdit->setText(tmp);
}
void MainWindow::on_pushButton_33_clicked()
{
tmp +="5";
this->ui->textEdit->setText(tmp);
}
void MainWindow::on_pushButton_37_clicked()
{
tmp +="6";
this->ui->textEdit->setText(tmp);
}
void MainWindow::on_pushButton_30_clicked()
{
tmp +="1";
this->ui->textEdit->setText(tmp);
}
void MainWindow::on_pushButton_32_clicked()
{
tmp +="2";
this->ui->textEdit->setText(tmp);
}
void MainWindow::on_pushButton_36_clicked()
{
tmp +="3";
this->ui->textEdit->setText(tmp);
}
void MainWindow::on_pushButton_35_clicked()
{
if(tmp != "")
{
tmp +="0";
this->ui->textEdit->setText(tmp);
}
}
void MainWindow::on_pushButton_42_clicked()
{
num = tmp.toInt();
model1->setNum1(num);
tmp = "";
QString ex = "+";
model1->setFlag(ex);
}
void MainWindow::on_pushButton_41_clicked()
{
num = tmp.toInt();
model1->setNum1(num);
tmp = "";
QString ex = "-";
model1->setFlag(ex);
}
void MainWindow::on_pushButton_40_clicked()
{
num = tmp.toInt();
model1->setNum1(num);
tmp = "";
QString ex = "*";
model1->setFlag(ex);
}
void MainWindow::on_pushButton_43_clicked()
{
num = tmp.toInt();
model1->setNum1(num);
tmp = "";
QString ex = "/";
model1->setFlag(ex);
}
void MainWindow::on_pushButton_31_clicked()
{
ui->textEdit->clear();
}
void MainWindow::on_pushButton_39_clicked()
{
num = tmp.toInt();
model1->setNum2(num);
int res = model1->doExpr();
QString ab = QString::number(res);
ui->textEdit->setText(ab);
tmp = "";
}
3.在PC端测试
输入9*9
4.在板子上测试
输入6*7