www.teandq.com
晓安科普

科学计算器下载电脑版(科学计算器在线计算器)万万没想到

2023-08-14Aix XinLe

今天,我们尝试用Qt实现一个简易的计算器。1、简易计算器的需求这个简易的计算器,可以实现如下的功能:(1)支持用户通过鼠标对计算器进行操作;(2

科学计算器下载电脑版(科学计算器在线计算器)万万没想到

 

今天,我们尝试用Qt实现一个简易的计算器1、简易计算器的需求这个简易的计算器,可以实现如下的功能:(1)支持用户通过鼠标对计算器进行操作;(2)支持整数的加减乘除运算;(3)支持数据清理操作2、建立calculator工程。

新建Qt Widgets Application,工程名为calculator,基类为QMainWindow:

工程建立后,Qt Creator中的视图为:

3、设计用户界面在主窗口中添加16个按钮,添加后效果如下:

将主窗口的标题改为“简易计算器”,将按钮的标题改为数字和操作符号,修改后效果如下:

4、设置主窗口的尺寸不可改变修改main.cpp文件,其中调用主窗口的setFixedSize函数,让窗口的尺寸固定:#include"mainwindow.h"#include

intmain(int argc, char *argv[]){ QApplication a(argc, argv); MainWindow w; w.setFixedSize(w.width(), w.height()); w.show();

return a.exec(); }现在窗口的效果变为:

5、设置数字按键的反应在MainWindow中添加一个成员函数,实现向行编辑框中添加数字的功能:void MainWindow::AddNumberToOperand(int i) { QString strNumber; strNumber.setNum(i); QString strOperand = ui->editOperand->text(); strOperand.append(strNumber); ui->editOperand->setText(strOperand); }

然后,为每个数字按键添加鼠标单击的处理函数:void MainWindow::on_buttonOne_clicked() { AddNumberToOperand(1); } void MainWindow::on_buttonTwo_clicked() { AddNumberToOperand(

2); } void MainWindow::on_buttonThree_clicked() { AddNumberToOperand(3); } void MainWindow::on_buttonFour_clicked() { AddNumberToOperand(

4); } void MainWindow::on_buttonFive_clicked() { AddNumberToOperand(5); } void MainWindow::on_buttonSix_clicked() { AddNumberToOperand(

6); } void MainWindow::on_buttonSeven_clicked() { AddNumberToOperand(7); } void MainWindow::on_buttonEight_clicked() { AddNumberToOperand(

8); } void MainWindow::on_buttonNine_clicked() { AddNumberToOperand(9); } void MainWindow::on_buttonZero_clicked() { AddNumberToOperand(

0); }现在简易计算器的效果如下:

6、定义成员变量在MainWindow类中定义两个成员变量,表示操作数:private: int m_iOperand1; int m_iOperand2;在MainWindow.h中定义一个枚举类型,表示用户进行的算术操作:

enum{ OPERATOR_ADD = 0, OPERATOR_MINUS = 1, OPERATOR_MULTIPLY = 2, OPERATOR_DIVIDE = 3 };在MainWindow类中定义一个成员变量,表示算术操作:

private: int m_iOperator;7、设置加减乘除按键的反应当加减乘除任一按键被点击时,设置m_iOperand1和m_iOperator的值,代码如下:void MainWindow::on_buttonAdd_clicked() { m_iOperand1 = ui->editOperand->text().toInt(); m_iOperator = OPERATOR_ADD; ui->editOperand->setText(

""); } void MainWindow::on_buttonMinus_clicked() { m_iOperand1 = ui->editOperand->text().toInt(); m_iOperator = OPERATOR_MINUS; ui->editOperand->setText(

""); } void MainWindow::on_buttonMultiply_clicked() { m_iOperand1 = ui->editOperand->text().toInt(); m_iOperator = OPERATOR_MULTIPLY; ui->editOperand->setText(

""); } void MainWindow::on_buttonDivide_clicked() { m_iOperand1 = ui->editOperand->text().toInt(); m_iOperator = OPERATOR_DIVIDE; ui->editOperand->setText(

""); }8、设置清除按键的反应当清除按键被点击时,将行编辑框的值清空,代码如下:void MainWindow::on_buttonClear_clicked() { ui->editOperand->setText(

""); }9、设置等号按键的反应当等号按键被点击时,将执行计算操作,代码如下:void MainWindow::on_buttonEqual_clicked() { m_iOperand2 = ui->editOperand->text().toInt();

switch (m_iOperator) { case OPERATOR_ADD: m_iOperand1 = m_iOperand1 + m_iOperand2; break; case OPERATOR_MINUS: m_iOperand1 = m_iOperand1 - m_iOperand2;

break; case OPERATOR_MULTIPLY: m_iOperand1 = m_iOperand1 * m_iOperand2; break; case OPERATOR_DIVIDE:

if (m_iOperand2 != 0) { m_iOperand1 = m_iOperand1 / m_iOperand2; } break; } QString strNumber; strNumber.setNum(m_iOperand1); ui->editOperand->setText(strNumber); }

10、验证程序至此,我们的简易计算器已经编写完成,下面我们进行调试。启动程序,界面如下:

输入一个整数,例如120:

点击乘号,点击后界面如下:

再次输入一个整数,例如8:

点击等号,点击后界面如下:

通过验证,我们编写的简易计算器,可以完成简单的加减乘除运算。

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186

知识知识产权评估报告(知识产权评估报告无效的认定标准)不要告诉别人

2023-08-18Aix XinLe72

知识产权评估报告(知识产权评估报告无效的认定标准)不要告诉别人知识产权作为法定的出资方式,股东选择以知识产权进行出资无可非议,但是在实际履行出资义务的过程中,如何认定非货币类型的出资已经履行完毕存在争议。…

探索探索科学杂志社(探索科学杂志社怎么查)新鲜出炉

2023-08-18Aix XinLe137

探索科学杂志社(探索科学杂志社怎么查)新鲜出炉世界在变化,但总有人被钉在原地。…

探索天梯排行榜(台式处理器天梯排行榜)速看

2023-08-18Aix XinLe81

天梯排行榜(台式处理器天梯排行榜)速看对于小白来是说,对CPU型号认知,一般都只看CPU是i3、i5还是i7的,其实这是选购CPU的最大误区之一,目前还有很多小伙伴没有搞懂。…

趣闻快来看酷音乐亚洲盛典(酷音乐亚洲盛典薛之谦)

2023-08-18Aix XinLe157

快来看酷音乐亚洲盛典(酷音乐亚洲盛典薛之谦)有一次在四川开演唱会,因为交通不便,比较远,他自己包车送粉丝回家。同年,薛之谦受邀作为流行音乐的代表,和其他艺术家一起前往俄罗斯,参加由中华人民…

科普女排联赛总决赛时间表(2023世界女排联赛总决赛时间表)速看

2023-08-18Aix XinLe50

女排联赛总决赛时间表(2023世界女排联赛总决赛时间表)速看2023年世界女排联赛总决赛将于北京时间13日凌晨在美国拉开战幕,波兰、美国、土耳其、巴西、意大利、日本、德国八支球队将在首轮比赛中捉对厮杀争夺…