文档详情

Qt简易计算器代码.doc

发布:2017-11-14约8.65千字共8页下载文档
文本预览下载声明
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
显示全部
相似文档