qt编程简单的计算器_第1页
qt编程简单的计算器_第2页
qt编程简单的计算器_第3页
qt编程简单的计算器_第4页
qt编程简单的计算器_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、QT编程实现简易的计算器一、 实验目的1) 熟悉QtCreator的简单操作。 2) 了解Qt程序编写框架。 3) 了解信号和槽机制,熟练掌握信号与槽在应用程序中的使用。 二、 实验内容 1) 查看API手册,学习简单的Qt类的使用,如QLineEdit、QPushButton等。 2) 用QtCreator创建工程,用Qt编写计算器程序。 3) 对计算器程序进行移植。 三、 实验步骤 1. 创建工程 1)

2、 打开QtCreator,如图1所示。 选择File->New File or Project,然后在弹出的对话框中选择Other Project->Empty Qt project(如图2所示),然后进入下一步。  选择Qt版本,这里选择使用Qt4.7.1,取消对Qt in PATH的选择(如图4所示),然后进入下一步,完成新工程的创建(如图5所示)。实现代码Calcuulator.h代码:#ifndef CALCULATOR_H#define CALCULAT

3、OR_H#include<QApplication>#include<QDialog>#include<QPushButton>#include<QLineEdit>class Calculator:public QDialog Q_OBJECTprotected: QLineEdit *lineEditor; QPushButton *button_0; QPushButton *button_1; QPushButton *button_2; QPushButton *button_3; QPushButton *button_4; QPus

4、hButton *button_5; QPushButton *button_6; QPushButton *button_7; QPushButton *button_8; QPushButton *button_9; QPushButton *button_ce; QPushButton *button_jia; QPushButton *button_jian; QPushButton *button_cheng; QPushButton *button_chu; QPushButton *button_; QPushButton *button_dengyu; int num1,num

5、2,result; / bool zhenghao; / int mark; / char fuhao; / QString S; /public: Calculator();private slots: void button_0_clicked(); void button_1_clicked(); void button_2_clicked(); void button_3_clicked(); void button_4_clicked(); void button_5_clicked(); void button_6_clicked(); void button_7_clicked(

6、); void button_8_clicked(); void button_9_clicked(); void button_ce_clicked(); void button_jia_clicked(); void button_jian_clicked(); void button_cheng_clicked(); void button_chu_clicked(); void button_clicked(); void button_dengyu_clicked();#endif / CALCULATOR_HCalculator.cpp代码:#include<QLayout&

7、gt;#include<QHBoxLayout>#include<QVBoxLayout>#include<QLineEdit>#include<cmath>#include"calculator.h"Calculator:Calculator() num1=0; num2=0; result=0; zhenghao=true; mark=1; lineEditor=new QLineEdit("0"); S="" button_0=new QPushButton("0&quo

8、t;); button_1=new QPushButton("1"); button_2=new QPushButton("2"); button_3=new QPushButton("3"); button_4=new QPushButton("4"); button_5=new QPushButton("5"); button_6=new QPushButton("6"); button_7=new QPushButton("7"); button_8

9、=new QPushButton("8"); button_9=new QPushButton("9"); button_ce=new QPushButton("CE"); button_cheng=new QPushButton("*"); button_jia=new QPushButton("+"); button_jian=new QPushButton("-"); button_chu=new QPushButton("/"); button_=

10、new QPushButton("+/-"); button_dengyu=new QPushButton("="); QHBoxLayout *Hl1=new QHBoxLayout; QHBoxLayout *Hl2=new QHBoxLayout; QHBoxLayout *Hl3=new QHBoxLayout; QHBoxLayout *Hl4=new QHBoxLayout; QHBoxLayout *Hl5=new QHBoxLayout; Hl1->addWidget(lineEditor); Hl1->addWidget(b

11、utton_ce); Hl2->addWidget(button_1); Hl2->addWidget(button_2); Hl2->addWidget(button_3); Hl2->addWidget(button_jia); Hl3->addWidget(button_4); Hl3->addWidget(button_5); Hl3->addWidget(button_6); Hl3->addWidget(button_jian); Hl4->addWidget(button_7); Hl4->addWidget(butto

12、n_8); Hl4->addWidget(button_9); Hl4->addWidget(button_cheng); Hl5->addWidget(button_); Hl5->addWidget(button_0); Hl5->addWidget(button_dengyu); Hl5->addWidget(button_chu); QVBoxLayout *V1=new QVBoxLayout; V1->addLayout(Hl1); V1->addLayout(Hl2); V1->addLayout(Hl3); V1->a

13、ddLayout(Hl4); V1->addLayout(Hl5); connect(button_0,SIGNAL(clicked(),this,SLOT(button_0_clicked(); connect(button_1,SIGNAL(clicked(),this,SLOT(button_1_clicked(); connect(button_2,SIGNAL(clicked(),this,SLOT(button_2_clicked(); connect(button_3,SIGNAL(clicked(),this,SLOT(button_3_clicked(); connec

14、t(button_4,SIGNAL(clicked(),this,SLOT(button_4_clicked(); connect(button_5,SIGNAL(clicked(),this,SLOT(button_5_clicked(); connect(button_6,SIGNAL(clicked(),this,SLOT(button_6_clicked(); connect(button_7,SIGNAL(clicked(),this,SLOT(button_7_clicked(); connect(button_8,SIGNAL(clicked(),this,SLOT(button

15、_8_clicked(); connect(button_9,SIGNAL(clicked(),this,SLOT(button_9_clicked(); connect(button_jia,SIGNAL(clicked(),this,SLOT(button_jia_clicked(); connect(button_jian,SIGNAL(clicked(),this,SLOT(button_jian_clicked(); connect(button_cheng,SIGNAL(clicked(),this,SLOT(button_cheng_clicked(); connect(butt

16、on_chu,SIGNAL(clicked(),this,SLOT(button_chu_clicked(); connect(button_dengyu,SIGNAL(clicked(),this,SLOT(button_dengyu_clicked(); connect(button_ce,SIGNAL(clicked(),this,SLOT(button_ce_clicked(); connect(button_,SIGNAL(clicked(),this,SLOT(button_clicked(); setLayout(V1);void Calculator:button_0_clic

17、ked() S+="0" lineEditor->setText(S); if(mark=1) num1=num1*10+0; else num2=num2*10; void Calculator:button_1_clicked() S+="1" lineEditor->setText(S); if(mark=1) if(zhenghao) num1=num1*10+1; else num1=num1*10-1; else if(zhenghao) num2=num2*10+1; else num2=num2*10-1; void Calc

18、ulator:button_2_clicked() S+="2" lineEditor->setText(S); if(mark=1) if(zhenghao) num1=num1*10+2; else num1=num1*10-2; else if(zhenghao) num2=num2*10+2; else num2=num2*10-2; void Calculator:button_3_clicked() S+="3" lineEditor->setText(S); if(mark=1) if(zhenghao) num1=num1*1

19、0+3; else num1=num1*10-3; else if(zhenghao) num2=num2*10+3; else num2=num2*10-3; void Calculator:button_4_clicked() S+="4" lineEditor->setText(S); if(mark=1) if(zhenghao) num1=num1*10+4; else num1=num1*10-4; else if(zhenghao) num2=num2*10+4; else num2=num2*10-4; void Calculator:button_5

20、_clicked() S+="5" lineEditor->setText(S); if(mark=1) if(zhenghao) num1=num1*10+5; else num1=num1*10-5; else if(zhenghao) num2=num2*10+5; else num2=num2*10-5; void Calculator:button_6_clicked() S+="6" lineEditor->setText(S); if(mark=1) if(zhenghao) num1=num1*10+6; else num1=

21、num1*10-6; else if(zhenghao) num2=num2*10+6; else num2=num2*10-6; void Calculator:button_7_clicked() S+="7" lineEditor->setText(S); if(mark=1) if(zhenghao) num1=num1*10+7; else num1=num1*10-7; else if(zhenghao) num2=num2*10+7; else num2=num2*10-7; void Calculator:button_8_clicked() S+=&

22、quot;8" lineEditor->setText(S); if(mark=1) if(zhenghao) num1=num1*10+8; else num1=num1*10-8; else if(zhenghao) num2=num2*10+8; else num2=num2*10-8; void Calculator:button_9_clicked() S+="9" lineEditor->setText(S); if(mark=1) if(zhenghao) num1=num1*10+9; else num1=num1*10-9; else

23、 if(zhenghao) num2=num2*10+9; else num2=num2*10-9; void Calculator:button_jia_clicked() S+="+" lineEditor->setText(S); zhenghao=true; fuhao='+' mark=2;void Calculator:button_jian_clicked() S+="-" lineEditor->setText(S); zhenghao=true; fuhao='-' mark=2;void C

24、alculator:button_cheng_clicked() S+="*" lineEditor->setText(S); zhenghao=true; fuhao='*' mark=2;void Calculator:button_chu_clicked() S+="/" lineEditor->setText(S); zhenghao=true; fuhao='/' mark=2;void Calculator:button_clicked() S+="-" lineEditor->setText(S); zhenghao=false;void Calculator:button_dengyu_clicked() S+="

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论