Qt项目一:简易计算器

用Qt开发简易计算器较简单,可做为初学者项目学习。
#效果图


#主要代码
##ui界面界面设计

##准备
头文件中新建a、b分别储存数据和运算符

private:Ui::Widget *ui;QString a;QStringList b;
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);a.clear();b.clear();
}

##数字及小数点槽函数

//数字0
void Widget::on_number_0_clicked()
{a+="0";ui->lineEdit->setText(a);
}//数字1
void Widget::on_number_1_clicked()
{a+="1";ui->lineEdit->setText(a);
}//数字2
void Widget::on_number_2_clicked()
{a+="2";ui->lineEdit->setText(a);
}//数字3
void Widget::on_number_3_clicked()
{a+="3";ui->lineEdit->setText(a);
}//数字4
void Widget::on_number_4_clicked()
{a+="4";ui->lineEdit->setText(a);
}//数字5
void Widget::on_number_5_clicked()
{a+="5";ui->lineEdit->setText(a);
}//数字6
void Widget::on_number_6_clicked()
{a+="6";ui->lineEdit->setText(a);
}//数字7
void Widget::on_number_7_clicked()
{a+="7";ui->lineEdit->setText(a);
}//数字8
void Widget::on_number_8_clicked()
{a+="8";ui->lineEdit->setText(a);
}//数字9
void Widget::on_number_9_clicked()
{a+="9";ui->lineEdit->setText(a);
}//小数点
void Widget::on_number_Point_clicked()
{a+=".";ui->lineEdit->setText(a);
}

##运算符槽函数

//加
void Widget::on_operator_Add_clicked()
{b.insert(0,a);a.clear();b.insert(1,"+");ui->lineEdit->setText(a);
}//减
void Widget::on_operator_subtract_clicked()
{b.insert(0,a);a.clear();b.insert(1,"-");ui->lineEdit->setText(a);
}//乘
void Widget::on_operator_multiply_clicked()
{b.insert(0,a);a.clear();b.insert(1,"*");ui->lineEdit->setText(a);
}//除
void Widget::on_operator_divide_clicked()
{b.insert(0,a);a.clear();b.insert(1,"/");ui->lineEdit->setText(a);
}

##运算结果

//等于
void Widget::on_operator_equal_clicked()
{if(b.count()==2){b.insert(2,a);if(b.at(1)=="+"){double v3 = QString(b.at(0)).toDouble() + QString(b.at(2)).toDouble();ui->lineEdit->setText(QString::number(v3));}else if(b.at(1)=="-"){double v3 = QString(b.at(0)).toDouble() - QString(b.at(2)).toDouble();ui->lineEdit->setText(QString::number(v3));}else if(b.at(1)=="*"){double v3 = QString(b.at(0)).toDouble() * QString(b.at(2)).toDouble();ui->lineEdit->setText(QString::number(v3));}else if(b.at(1)=="/"){double v3 = QString(b.at(0)).toDouble() / QString(b.at(2)).toDouble();ui->lineEdit->setText(QString::number(v3));}}else {a.clear();b.clear();ui->lineEdit->setText(a);}
}

##其他模块
正负号

//正负号
void Widget::on_operator_sign_clicked()
{if(a.at(0)!="-"&&a.at(0)!="+"){a.insert(0,"-");}else if(a.at(0)=="-"){a.replace(0,1,"");}ui->lineEdit->setText(a);
}

清除按钮

//清除
void Widget::on_number_C_clicked()
{a.clear();b.clear();ui->lineEdit->clear();
}

删除按钮

//删除
void Widget::on_number_delete_clicked()
{if(a!=nullptr){a.chop(1);ui->lineEdit->setText(a);}
}

Qt项目一:简易计算器相关推荐

  1. 【QT项目】简易五子棋游戏(人机对战)— 完整源码

    文章目录 前言 一.游戏实现效果 二.需求分析 三.解决方案 四.核心步骤 1.插入棋盘图 2.双方落子 3.输赢判定 4.重新开始 五.完整源码 1.main.cpp 2.chessboard.h ...

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

    Qt工作原理: 事件驱动,信号与槽原理. 要实现简易计算器的设计需要将界面按钮转到槽,具体程序如下: Widget.h : #ifndef WIDGET_H #define WIDGET_H #inc ...

  3. QT学习日志(附:简易计算器,qq登录界面,简易绘图板,植物大战僵尸魔改版项目实践)

    目录 写在前面 实训前一天 头文件无法生成 项目栏不见了 不知道如何发布程序 实训第一天(附简易计算器的实现) 自定义命名空间的相关问题 关于隐式调用构造函数的问题 实训第二天(不附地址薄的实现) 关 ...

  4. QT专题1:实现一个简易计算器

    QT程序开发流程如下: 1.申明必要的部件. 2.将部件构造出来 3必要的布局 4.前后台进行关联 5.美化(QSS) QT基础部件: 1.按钮类:普通按钮,工具按钮,单选按钮,多选按钮,命令连接按钮 ...

  5. 简易计算器 (C语言)作业

    从Github下载 从CSDN下载 // // ViewController.h // SimpleCalculator // // Created by Mewlan Musajan on 11/2 ...

  6. Android 实战项目:简单计算器

    文章目录 实战项目:简易计算器 1.需求分析 2.界面设计 3.关键代码 1.输入按键的合法性校验 2.执行运算并显示计算结果 简单计算器 - 详细操作步骤 总结 实战项目:简易计算器 1.需求分析 ...

  7. QT入门项目--简易计算器

    QT入门项目–简易计算器 目录 QT入门项目--简易计算器 一.前言 二.运行界面 三.代码 dialog.cpp doexpr.cpp check.cpp 四.总结 一.前言 C语言快要结课了,自然 ...

  8. QT项目五:简易计算器

    1,简介 这是用QT帮朋友做的一个定制化的计算器程序,他们对于计算器使用频率非常高,用系统自带的或网上找的软件也有很多地方不是很满意. 提出了下列定制需求: (1)支持显示输入的历史记录,并拷贝复制. ...

  9. C++ Qt学习笔记 (1) 简易计算器设计

    最近开始学习c++ qt, 按照教材上的例程设计一个简易的桌面计算器: Qt是一个基于C++语言的跨平台应用程序和UI开发框架,主要包含一个类库,和跨平台开发及国际化的工具,最初由挪威的Trollte ...

最新文章

  1. 如何修改git已提交记录的邮箱?
  2. java编程思想第四版第三章要点习题
  3. slimphp中间件调用流程的理解
  4. rt-thread 自动初始化机制分析-关于编译链接及段信息
  5. kaggle手机验证问题
  6. 从Mysql某一表中随机读取n条数据的SQL查询语句
  7. iOS 移动端overflow:auto 滚动不平滑及bug处理
  8. GaussDB(DWS)应用实战:对被视图引用的表进行DDL操作
  9. 深度|数据库产品如何选型?掌握这一招就够了
  10. Java中this关键字的使用
  11. 鸿蒙如何连接电视,鸿蒙系统首秀,在自家设备上和普通电视大不相同
  12. 常见的HTTP状态码说明
  13. mysql 空值处理
  14. 去见你喜欢的人,去做你想做的事
  15. CCS软件安装教程(超级详细)
  16. windows文件权限管理dos命令
  17. 计算机常用工具软件实训总结报告,计算机常用工具软件实训报告精编版.doc
  18. 登顶多国免费榜,Zynga能否依靠超休闲游戏重回巨头行列
  19. python pip安装包导入导出及下载包(只下载不安装)
  20. DS18B20测量温度

热门文章

  1. mysql实现layui分页_LayUI
  2. 现代化高校智慧校园考勤模式
  3. PlecsMMA学习2
  4. 吴恩达深度学习作业之deepleraning_L1W2_h1
  5. python文件整理程序_Python实现自动整理文件的脚本
  6. 百度竞价关键词质量度提升的方法你知道多少?
  7. Java 抽象类与接口 编程练习
  8. 最新emoji表情代码大全_11月最新版早上好问候语图片大全,精美的早晨祝福语带图片表情...
  9. layui的css文件自己写的吗_你知道怎么给自己的CAD图纸文件加密吗?
  10. 16QAM调制解调仿真(matlab,详细介绍仿真方案的设计、结果及结论、完整代码及注释)