1.首先需要建立一个不需要工具箱的界面
第一步:创建一个模板
第二步:
第三步:选择QDialog,选择这个将会在界面不会出现工具箱,即界面上方横线
2.头文件代码
#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);
double add(double val0,double val1);
double sub(double val0,double val1);
double mul(double val0,double val1);
double div(double val0,double val1);
~Dialog();
private slots:
void on_pushButton_5_clicked();
void on_pushButton_8_clicked();
void on_pushButton_9_clicked();
void on_pushButton_4_clicked();
void on_pushButton_6_clicked();
void on_pushButton_7_clicked();
void on_pushButton_clicked();
void on_pushButton_2_clicked();
void on_pushButton_3_clicked();
void on_pushButton_14_clicked();
void on_pushButton_10_clicked();
void on_pushButton_11_clicked();
void on_pushButton_12_clicked();
void on_pushButton_13_clicked();
void on_pushButton_15_clicked();
void on_pushButton_16_clicked();
void on_pushButton_17_clicked();
void on_pushButton_18_clicked();
private:
Ui::Dialog *ui;
};
#endif // DIALOG_H
槽函数由系统自动生成,可双击界面文件进入,选择需要的东西,转到槽函数
3. .cpp文件
#include "dialog.h"
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButton_5_clicked()
{
ui->lineEdit->insert("1");
}
void Dialog::on_pushButton_8_clicked()
{
ui->lineEdit->insert("2");
}
void Dialog::on_pushButton_9_clicked()
{
ui->lineEdit->insert("3");
}
void Dialog::on_pushButton_4_clicked()
{
ui->lineEdit->insert("4");
}
void Dialog::on_pushButton_6_clicked()
{
ui->lineEdit->insert("5");
}
void Dialog::on_pushButton_7_clicked()
{
ui->lineEdit->insert("6");
}
void Dialog::on_pushButton_clicked()
{
ui->lineEdit->insert("7");
}
void Dialog::on_pushButton_2_clicked()
{
ui->lineEdit->insert("8");
}
void Dialog::on_pushButton_3_clicked()
{
ui->lineEdit->insert("9");
}
void Dialog::on_pushButton_14_clicked()
{
ui->lineEdit->insert("0");
}
void Dialog::on_pushButton_10_clicked()
{
ui->lineEdit->insert("+");
}
void Dialog::on_pushButton_11_clicked()
{
ui->lineEdit->insert("-");
}
void Dialog::on_pushButton_12_clicked()
{
ui->lineEdit->insert("*");
}
void Dialog::on_pushButton_13_clicked()
{
ui->lineEdit->insert("/");
}
void Dialog::on_pushButton_18_clicked()
{
ui->lineEdit->insert(".");
}
void Dialog::on_pushButton_16_clicked()
{
ui->lineEdit->backspace();
}
void Dialog::on_pushButton_17_clicked()
{
ui->lineEdit->clear();
}
void Dialog::on_pushButton_15_clicked()
{
Dialog cal;
QString val;
val = ui->lineEdit->text();//拿到存在lineEdit的字符串
if(val.isEmpty())//判断函数是否为空
{
return ;
}
if(val.indexOf("+")!=-1)//用indexOf的方法找到“+”
{
double i,h,j,k;
i = val.indexOf("+");//找出加号的下标
h = val.leftRef(i).toDouble();//找到加号左边的数字
j = val.rightRef(val.size() - i).toDouble();//找到加号右边的数字
k = cal.add(h,j);//调用加法函数
ui->lineEdit->setText(QString::number(k));//将结果输出
}
if(val.indexOf("-")!=-1){
double i,h,j,k;
i = val.indexOf("-");
h = val.leftRef(i).toDouble();
i++;
j = val.rightRef(val.size() - i).toDouble();
k = cal.sub(h,j);
ui->lineEdit->setText(QString::number(k));
}
if(val.indexOf("*")!=-1){
double i,h,j,k;
i = val.indexOf("*");
h = val.leftRef(i).toDouble();
++i;
j = val.rightRef(val.size() - i).toDouble();
k = cal.mul(h,j);
ui->lineEdit->setText(QString::number(k));
}
if(val.indexOf("/")!=-1){
double i,h,j,k;
i = val.indexOf("/");
h = val.leftRef(i).toDouble();
++i;
j = val.rightRef(val.size() - i).toDouble();
k = cal.div(h,j);
ui->lineEdit->setText(QString::number(k));
}
}
double Dialog::add(double val0, double val1)
{
return val0+val1;
}
double Dialog::sub(double val0, double val1)
{
return val0-val1;
}
double Dialog::mul(double val0, double val1)
{
return val0*val1;
}
double Dialog::div(double val0, double val1)
{
return val0/val1;
}
4.计算机界面
由上述步骤即可实现