linux qt小型计算器课程设计,用Qt设计一个简易计算器

Qt工作原理:

事件驱动,信号与槽原理。

要实现简易计算器的设计需要将界面按钮转到槽,具体程序如下:

Widget.h :

#ifndef WIDGET_H

#define WIDGET_H

#include

#include

namespace Ui {

class Widget;

}

class Widget : public QWidget

{

Q_OBJECT

public:

explicit Widget(QWidget *parent = 0);

~Widget();

protected slots:

void on_btn_0_clicked();

void on_btn_1_clicked();

void on_btn_2_clicked();

void on_btn_3_clicked();

void on_btn_4_clicked();

void on_btn_5_clicked();

void on_btn_6_clicked();

void on_btn_7_clicked();

void on_btn_8_clicked();

void on_btn_9_clicked();

void on_btn_point_clicked();

void on_btn_res_clicked();

void on_btn_add_clicked();

void on_btn_sub_clicked();

void on_btn_mul_clicked();

void on_btn_div_clicked();

void on_btn_div2_clicked();

void on_btn__clicked();

void on_btn_ac_clicked();

private:

Ui::Widget *ui;

int a, b;

char func;

};

#endif // WIDGET_H

Widget.cpp 程序如下:

#include "widget.h"

#include "ui_widget.h"

#include

#include

#include

#include

Widget::Widget(QWidget *parent) :

QWidget(parent),

ui(new Ui::Widget)

{

ui->setupUi(this);

}

Widget::~Widget()

{

delete ui;

}

void Widget::on_btn_0_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"0");

}

void Widget::on_btn_1_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"1");

}

void Widget::on_btn_2_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"2");

}

void Widget::on_btn_3_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"3");

}

void Widget::on_btn_4_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"4");

}

void Widget::on_btn_5_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"5");

}

void Widget::on_btn_6_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"6");

}

void Widget::on_btn_7_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"7");

}

void Widget::on_btn_8_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"8");

}

void Widget::on_btn_9_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"9");

}

void Widget::on_btn_point_clicked()

{

ui->lineEdit_2->setText(ui->lineEdit_2->text()+"0");

}

void Widget::on_btn_add_clicked()

{

ui->lineEdit->setText(ui->lineEdit_2->text()+"+");

ui->lineEdit_2->clear();

}

void Widget::on_btn_sub_clicked()

{

ui->lineEdit->setText(ui->lineEdit_2->text()+"-");

ui->lineEdit_2->clear();

}

void Widget::on_btn_mul_clicked()

{

ui->lineEdit->setText(ui->lineEdit_2->text()+"*");

ui->lineEdit_2->clear();

}

void Widget::on_btn_div_clicked()

{

ui->lineEdit->setText(ui->lineEdit_2->text()+"/");

ui->lineEdit_2->clear();

}

void Widget::on_btn_div2_clicked()

{

ui->lineEdit->setText(ui->lineEdit_2->text()+"%");

ui->lineEdit_2->clear();

}

void Widget::on_btn__clicked()

{

}

void Widget::on_btn_ac_clicked()

{

static int i = 0;

if (i == 0){

ui->lineEdit_2->clear();

i++;

}else {

ui->lineEdit_2->clear();

ui->lineEdit->clear();

i--;

}

}

void Widget::on_btn_res_clicked()

{

ui->lineEdit->setText(ui->lineEdit->text()+ui->lineEdit_2->text());

ui->lineEdit_2->clear();

QString data = ui->lineEdit->text();

sscanf(data.toStdString().data(), "%d%c%d", &a, &func, &b);

float sum;

switch (func) {

case '+':

sum = a + b;

break;

case '-':

sum = a - b;

break;

case '*':

sum = a * b;

break;

case '/':

sum = a / b;

break;

case '%':

sum = a % b;

break;

default:

break;

}

ui->lineEdit->setText(data+"=");

ui->lineEdit_2->setText(QString::number(sum));

}

标签:Widget,clicked,Qt,void,简易,ui,计算器,lineEdit,btn

来源: https://blog.csdn.net/jhgkjasfg/article/details/102747729

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值