实验四 Qt编写简单的计算器.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验四 Qt编写简单的计算器

实验四 Qt编写简单的计算器 【实验目的】 熟悉QtCreator的简单操作。 了解Qt程序编写框架。 了解信号和槽机制,熟练掌握信号与槽在应用程序中的使用。 【实验内容】 查看API手册,学习简单的Qt类的使用,如QLineEdit、QPushButton等。 用QtCreator创建工程,用Qt编写计算器程序。 对计算器程序进行移植。 【实验步骤】 创建工程 打开QtCreator,如图1所示。 图1 选择File-New File or Project,然后在弹出的对话框中选择Other Project-Empty Qt project(如图2所示),然后进入下一步。 图2 定义新工程的工程名并选择保存路径(如图3所示),然后进入下一步。 图3 选择Qt版本,这里选择使用Qt4.7.1,取消对Qt in PATH的选择(如图4所示),然后进入下一步,完成新工程的创建(如图5所示)。 图4 图5 计算器程序的实现 计算器程序主要分以下两部分工作:一是实现计算器的图形界面;二是实现按键事件和该事件对应的功能绑定,即信号和对应处理槽函数的绑定。 计算器图形界面的实现 通过分析计算器的功能我们可知,需要16个按键和一个显示框,同时考虑到整体的排布,还需要水平布局器和垂直布局器。通过组织这些类我们可以实现一个简单的带有数字0~9,可以进行简单四则运算且具有清屏功能的计算器。对于这些类的具体操作会在后面的代码中详细说明。 信号和对应槽函数的绑定 分析计算器的按键我们可以把按键事件分为以下三类,一是简单的数字按键, 主要进行数字的录入,这类按键包括按键0~9;二是运算操作键,用于输入数学运算符号,进行数学运算和结果的显示,这类按键包括“+”,“-”,“*”,“/”,“=”;三是清屏操作键,用于显示框显示信息的清除。 进入刚才创建的空工程,双击左侧的Calculator.pro,在主编辑框中目前显示Calculator.pro的内容为空,如图6所示。这是因为目前什么文件都没有添加的缘故。 图6 添加文件calculator.h 在工程Calculator上面点击右键,然后点击Add New,选择添加C++ Header File(如图7所示),进入下一步后输入文件名calculator.h(如图8所示),然后完成文件的添加。 图7 图8 添加文件calculator.cpp和main.cpp 与添加文件calculator.h的过程类似,只是在选择文件类型时选择为C++ Source File。完成后可以查看Calculator.pro文件的内容,整个工程的文件结构如图9所示。 图9 计算器程序源代码的分析说明 对calculator.h源代码的简要说明 #ifndef CALCULATOR_H #define CALCULATOR_H //对calculator.h头文件的声明 #includeQWidget//包含主窗体类 #includeQPushButton//包含按键类 #includeQVBoxLayout//包含垂直布局器类 #includeQHBoxLayout//包含水平布局器类 #includeQLineEdit//包含显示框类 class Calculator : publicQWidget//计算器继承自主窗体类 { Q_OBJECT //必须加上这句,如果要调用信号,槽函数的操作的话 public: Calculator(); //计算器类的构造函数 ~Calculator(); //计算器类的析构函数 public slots: //定义各个按键按下后对应操作处理的槽函数 voidzeroButtonPress(); voidoneButtonPress(); voidtwoButtonPress(); voidthreeButtonPress(); voidfourButtonPress(); voidfiveButtonPress(); voidsixButtonPress(); voidsevenButtonPress(); voideightButtonPress(); voidnineButtonPress(); voidaddButtonPress(); voidsubButtonPress(); voidmulButtonPress(); voiddivButtonPress(); voidclearButtonPress(); voidequButtonPress(); private: QLineEdit *operateEdit;//声明显示框 QPushButton *zeroButton;//声明数字按键1 QPushButton *oneButt

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档