- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Qt简易计算器代码
cwidget.cpp
#include cwidget.h
#define KEY_CLR CLR
#define KEY_ADD +
#define KEY_SUB -
#define KEY_MUL *
#define KEY_DIV /
#define KEY_EQ =
#define KEY_0 0
#define KEY_1 1
#define KEY_2 2
#define KEY_3 3
#define KEY_4 4
#define KEY_5 5
#define KEY_6 6
#define KEY_7 7
#define KEY_8 8
#define KEY_9 9
#define BUTTONWIDTH 30 //定义按键的长度
#define BUTTONHEIGHT 30 //定义按键的宽度
static char *buttontext[] = //定义静态全局变量
{
KEY_1,KEY_2,KEY_3,KEY_4,
KEY_5,KEY_6,KEY_7,KEY_8,
KEY_9,KEY_ADD,KEY_SUB,KEY_MUL,
KEY_DIV,KEY_EQ,KEY_CLR,KEY_0
};
CWidget::CWidget(QWidget *parent, char *name) //构造函数
{
initialize();
createForm();
}
CWidget::~CWidget() //析构函数,销毁各个按键
{
delete edit;
delete *button;
delete mainLayout;
delete topLayout;
delete bottomLayout;
}
void CWidget::calculate() //响应按键“=”,调用计算功能
{
switch(oper)
{
case Qt::Key_Plus: //加法
firstNum += secondNum;break;
case Qt::Key_Minus: //减法
firstNum -= secondNum;break;
case Qt::Key_Asterisk: //乘法
firstNum *= secondNum;break;
case Qt::Key_Slash: //除法
firstNum /= secondNum;break;
default:
firstNum = firstNum;
}
edit-setText(QString::number(firstNum));
}
void CWidget::setValue()
{
QString tempStr;
tempStr = edit-text(); //显示框中的数值赋给tempStr
if(tempStr.length() edit-maxLength()) //小于显示框允许的最大位数
tempStr += ((QPushButton *)sender())-text(); //将按键对应的数值添加tempStr
else
{
QMessageBox::information( this, tr(Calculator),tr(too long!)); //位数过多,报错
}
if(-1==oper) //没有按加减乘除、等于、清空键
{
firstNum = tempStr.toInt(); //把tempStr转换成整型数,赋给第一个计算数
edit-setText(QString::number(firstNum)); //变成字符串之后,显示
}
Else
文档评论(0)