ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:632.70KB ,
资源ID:14758316      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14758316.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(QT计算器要点Word格式.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

QT计算器要点Word格式.docx

1、 本次我们设计的计算器在功能上大致与Windows系统自带的计算器程序相似,但在某些细节处加入了我们设计同学的独特创新和技巧,具体体现见详细设计部分。对于我们所设计的科学计算器,其功能大致可以如下划分: 算术型计算器功能可以进行加(+)、减(-)、乘(*)、除(/)、开方(sqrt)、百分数(%)等简单算术计算。 科学型计算器功能可以进行乘方、开方、指数、对数、三角函数、等方面的运算。 一元运算和多元运算可以进行表达式和简单运算,且切换较为快捷。1.2 功能描述 对于算术型计算器的功能大家已经非常熟悉,就不再赘述。这里只对科学型计算器功能中的特殊符号、必要函数及技巧创新功能部分作简单描述。 特

2、殊符号和函数Pi 。即 3.1415926 Ln 自然对数,ln(x)是以e为底的x的对数 Log 以10为底的对数,10是可以省略的S in 正弦函数 Arcsin 反正弦函数 Cos 余弦函数 Tan 正切函数 n! 阶乘 Mod 取模运算Clear 清空 等等这些符号有利于我们计算,方便快捷的得出结果。使用数据记录:我们都知道,现在市面上一般的计算器虽然在计算上能满足用户的需求,但对于一些重要的数据和运算过程、记录,就无法实现重要过程和数据的记录,所以这项功能的添加让我们的计算器更加科学化,人性化,用户不必要再担心运算的出错和检查的麻烦。这也是我们所设计的计算器相比于其他计算器的重要优点

3、之一。2. 详细设计2.1 普通计算功能(1)界面设计界面设计我们是使用Qt creator进行设计的,首先创建一QMainWindow(parent).ui,这个界面为QWidget。然后在左侧的Widget Box找相应的控件添加到QMainWindow(parent)里。首先提出一个lineEdit控件作为算式显示窗口和结果显示窗口,在提取出30个QpushButton为0到9按键和加减乘除按键、括号按键、开根号按键、小数点按键、%按键、取模按键、阶乘按键、取倒按键、等于按键、历史按键、标准/科学模式切换按键。然后再把各个pushButton名字改成相应的符号,并且改对应pushbutt

4、on的属性,保存后取Qt creator编译QMainWindow(parent).ui,运行程序就可以显示相应界面。具体界面设计效果如下:且各组件的属性设置如下:(2)程序具体实现现在.h文件中对各个按键在私有槽中进行声明,例如: public slots: void clickbtn1();就对1键(槽函数)进行声明,然后就可以在.cpp进行编写程序。声明first,second两个整形表示第一个输入和第二个输入,然后用Qt(Qstring)封装好的append()函数进行添加,当然,这里牵涉到本程序对Btn按键的函数声明,并且使用setText函数,使其按键符号点击后可以在lineEdi

5、t上显示,在这里用的是信号和槽的机制,具体的信号于槽的链接在后面会详细说明。2.2 科学计算器功能本界面的主要功能是在普通计算器的基础上,添加了一些科学计算的功能,具体实现的操作功能包括三角函数运算()、反三角函数运算()、双曲三角函数运算()、对数运算()、弧度运算、角度运算、梯度运算。 为了隐藏的需要,我们采用Group Box的组件,然后设置“”按键,通过点击“”按键可将窗口由标准型切换为科学型(此时“”按键变为“”按键,再点击一次即可变回标准型),切换为科学型窗口后,在普通窗口的基础上添加一些QPushButton按钮,修改其属性,使其变成相应的功能键,再从左边把QComboBox拖到

6、科学计算窗口中,并修改其属性,用户可以在下拉框中,选择自己想要实现的运算类型(如:弧度、梯度;不同对数运算),然后用对上述按键在窗口中进行合理布局,最后用QtCreator对所设计的界面进行编译形成ui文件,点击运行即可查看所设计界面。 具体界面设计效果如下: 下拉框中显示的设计如下: 各组件的属性设置如下:这里仍使用信函和槽连接机制,我们没有使用信号和槽编辑器,而是直接在.cpp文件中添编写其代码来实现,首先在.h文件中对各个按键进行声明,如:void clicksin();就是对sin按键进行声明,再到.cpp文件中编写相应的代码实现其功能,当Jing_zhan_unary变量为ture时

7、,执行clickTrigJIng_zhan_TS(“sin”),或当Jing_zhan_Expression变量为ture时,执行sinBian_lian=true;clickJing_zhan_Pro(sin,mu_qianSin);实现sin的运算功能。2.3 计算历史显示功能 本模块包括本系统的删除、保存功能。(1)界面介绍 这里我要用两个QpushButton控件和一个LineEdit控件,两个QpushButton控件分别表示删除算式、算式另存为,在修改其属性,再拖拽一个LineEdit控件,它用来显示计算机执行的历史事件,而且还可以在其上点击选择算式。 另存为算式:首先声明一个另存

8、为的函数void calculate:clickHistorySaveas(),添加一个QFileDialog控件作为另存为显示窗口,再把QFileDialog名字改成相应的另存为,并且改对应QFileDialog的属性,然后查询算式表(message),查找最后一个id的值,然后id加一,再把次id和窗口提取的算式存入数据库算式表(message)中,然后通过槽函数ui-statusBar-showMessage(Version+ : +tr(已保存),10000);查询整个message表把表中的内容显示出来。删除算式:先用currentIndex().row()把鼠标点中的行选中。提出行

9、数,声明model,再用model中封装好的函数删除这一行,在加上警告函数,判断是否删除,就可以了。2.4 删除功能此功能为删除窗口中的最后一个字符,具体编写过程为:提取窗口中的内容,并把窗口中的内容存放到一个QString型变量中,然后用Qt现有的已经封装好的函数,把这个变量从左边开始将其最后一个字符去掉,使其长度减少一,将改变后的字符串在存放到这个变量中,再把这个变量重新返回到窗口中,这样就达到删除的功能了。2.5 清空功能此功能为清空显示窗口,这里用Qt封装好的函数clear(),直接把窗口给清空,这样就达到效果。2.6 操作类型切换功能在菜单栏里添加操作类型选择按键,在操作类型按键下有

10、一元顺序运算和表达式运算两个子选项,当选择一元顺序运算时,将“(”按键和“)”按键设置为不可点击即,而当选择表达式运算时,将“1/x”按键和“”按键设置为不可点击。由于在不同的操作类型下,有些运算符不适用,故将其设置为不可点击,这样可以防止用户进行违规操作。3.系统的实现:计算分简单计算和科学计算两种功能,又由于要实现表达式的功能,故应该将其分开实现,所以,我们在程序中设置了两逻辑变量进行区分,如下所示。 bool Jing_zhan_unary=false; /一元操作 bool Jing_zhan_Expression=true; /表达式操作 当然,对于下面具体步骤中出现的函数,我们有必

11、要在此说明,这其中也包括整个程序的核心算法。考虑到程序中出现了众多信号与槽的链接,故采用手工链接的方式进行。首先在calculate.h中声明如下槽函数:public slots: void clickSifirla(); void clickbtn(QString); void clickbtn1(); void clickbtn2(); void clickbtn3(); void clickbtn4(); void clickbtn5(); void clickbtn6(); void clickbtn7(); void clickbtn8(); void clickbtn9(); vo

12、id clickbtn0(); void clickPoint(); void clickPointControl(); void clickClear(); void clickPlus(); void clickDecrease(); void clickMultiply(); void clickEliminate(); void clickEql(); void clickJing_zhan_(); void clickJing_zhan_2(QStringList &diziPro,QString isaret); void clickBackspace(); void clickC

13、hangesign(); void clickSqrt(); void click_G(); void clickCi(); void click_1_x(); void clickJie_cheng(); void clickSwitch(); void clickSimple(); void clickSin(); void clickCos(); void clickTan(); void clickCot(); void clickPi(); void clickE(); void clickArcsin(); void clickArccos(); void clickArctan(

14、); void clickArccot(); void clickSinh(); void clickCosh(); void clickTanh(); void clickCoth(); void clickLog(); void clickHistory(); void clickHistoryDelete(); void clickHistorySaveas(); void clickExpression(); void clickunary(); void clickReplaceTur(QLabel*,QLabel*,bool); void clickJing_zhan_caozuoleixing(); void clickJing_zhan_Pro(QString,QString,bool); void clickTrigJing_zhan_IO(QStringList &diziPro,bool &trigVar,QString,QString); void clickTrigJing_zhan_IS(QString); void clickYerReplace(QStringList &diziPro,int,double); void clickMod(); void clickZkuohao(); void clickYkuoh

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1