Qt科学计算器

3 篇文章 0 订阅
3 篇文章 0 订阅

仿照windows系统的科学计算器
设计思路:首先根据计算器的特性将所有的按键分类,我觉得大体上可以分为三类,分别是:数字键(1-9),双运算符键(±*/^mod),单运算符(绝对值、开方、平方、log、In,10的次方等等),此外还有一些特殊的键需要另外处理,比如数字键**pi、e、,小数点按键、CE、C,=**键等等;

第一步:界面的设计,科学计算器的按钮有的存在上标下标,直接输入的是没有上下标效果的,因此必须采用其他方法,有两种思路,一是把所有文字做成图片,然后利用样式表实现,另一种就是在按钮上加上Qlabel并且借助htm语言实现。
(bug:这里在编写程序的时候发现一个问题,就是将Qlabel放到QPushbutton上的时候,会把QPushbutton的位置挤掉,简单点来说就是,当你点击按钮的时候,希望按钮对应的槽函数做出响应,但实际上槽函数并没有反应,这是因为button上的一部分为位置被Qlabel占据了,也就是你点击到了Qlabel的位置,button的函数当然不会有响应。解决办法就是设计新的Qlabel类,将这个类中的clicked函数重载,当点击到Qlabel中时,clicked函数发出信号,由button的槽函数来处理即可)

第二步,按键响应部分,也就是按钮按一下数据要做出相应的改变。
1)为了方便处理,设计str,str_show两个变量存放按下的数字,str中直接就是数据,没有单运算符表达式这些,str_show用来显示,比如abs(5),在str中为5,在str_show中为abs(5),buf,buf_show中同理
2)设计一个函数numberset()来统一处理数字0-9,.,pi,e这三个另外处理
3)设计函数My_arithm()处理运算符
4)单运算符另外处理
5)左右括号也需要另外处理

第三步,设计=函数,在数字输入的时候就确保输入的字符串一定有效,因此可以直接计算。科学计算器效果图

下载传送:https://download.csdn.net/download/zhangxiaio1/33184433

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值