- 1、本文档共18页,可阅读全部内容。
- 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 *oneBut
您可能关注的文档
- 安全生产法宣.ppt
- 安全隐患主题.ppt
- 安全警示教育件.ppt
- 安徽省公务1.doc
- 安徽省公务员法用法”能力测试试卷答案(三).doc
- 安全重于一切题班会.ppt
- 安徽省城镇土可持续利用的对策研究.ppt
- 安徽中考信息资料.ppt
- 安徽省阜阳市河中学2016_2017学年高二语文10月月考试题.doc
- 安祥卓五年级学下册第八单元集体备课.doc
- 矿业行业矿产开采安全责任免除协议.doc
- 数学家斐波那契的数学思想研究.docx
- 4.3[说课稿]人类的聚居地——聚落2023-2024学年七年级地理上册优质备课包说课稿+说课稿+分层作业(人教版).docx
- 沪教牛津版小学三年级下册英语精品授课课件 Module 3 unit9第3课时.ppt
- w房地产企业盈利质量分析.docx
- 酒店服务标准流程指南.doc
- Challenge Yourself C Learning Cooperatively 说课稿-2024-2025学年高中英语重大版(2019)必修第一册.docx
- 成都大熊猫繁育研究基地科研与旅游相协调发展问题浅析.docx
- 珠宝行业商品质量承诺书.doc
- TCAP基因突变相关疾病及其功能.docx
文档评论(0)