- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 《中国传统文化融入小学高年级英语学习活动的实施路径研究》课题研究方案.doc
- 《基于语文核心素养理念下小学语文高段阅读教学策略研究》研究计划——以榆林市M小学为例.docx
- T_PSC 9-2022 绿潮灾害风险预警技术导则.docx
- 湖南省建设工程总承包发包人要求编写指南.pdf VIP
- MBTI职业性格测试及解析(最完整版)【稀缺资源-路过别错过】.pdf VIP
- 药物警戒管理体系质量控制指标管理规程.docx
- 十二星座传说及性格.ppt VIP
- 小班音乐《小动物和狼》课件.ppt VIP
- 赤潮遥感跟踪预警技术指南.pdf
- 南通沃兰化工有限公司年产2000吨苯磺酰氯等产品项目环境影响报告书.pdf
文档评论(0)