您好,欢迎访问三七文档
Qt计算器源代码caculator.h头文件#ifndefCACULATOR_H#defineCACULATOR_H#includeQDialog#includeQLineEdit#includeQPushButton#includeQCloseEvent#includeQKeyEvent#includeQMessageBox#includeQDebug#includeQGridLayout#includeQStack#includemath.hnamespaceUi{classCaculator;}classCaculator:publicQDialog{Q_OBJECTpublic:explicitCaculator(QWidget*parent=0);~Caculator();voidwidgetInitial();//初始化控件voidwidgetLayout();//设置窗口布局voidpushButtonStyle(QPushButton*pushButton);//设置按钮样式voidlineEditStyle(QLineEdit*lineEdit,intheight);//设置输入框样式voidsetNumber(intnum);//设置数字voidsetOperation(intoper);//设置+、-、*、/、.、)等符号voidcaculate(intcacu);//计算x^2、x^3、sin、cos、tan等longfactorial(intnum);//计算阶乘//中缀转换为后缀表达式inttoPostfix(constchar*S,charOPS[],int&len);//计算后缀表达式intevaluation(charB[],intlen,double&result,bool&flag);protected:voidcloseEvent(QCloseEvent*event);//窗口关闭事件voidkeyPressEvent(QKeyEvent*key);//按键事件private:Ui::Caculator*ui;//计算器相关控件QLineEdit*showTextEdit;//表达式显示栏QLineEdit*showResultEdit;//结果显示栏QPushButton*backBtn;//回退QPushButton*ceBtn;//清除QPushButton*clearBtn;//清空QPushButton*oneBtn;QPushButton*twoBtn;QPushButton*threeBtn;QPushButton*fourBtn;QPushButton*fiveBtn;QPushButton*sixBtn;QPushButton*sevenBtn;QPushButton*eightBtn;QPushButton*nineBtn;QPushButton*zeroBtn;QPushButton*pointBtn;//.QPushButton*left_bracket;//(QPushButton*right_bracket;//)//内存管理QPushButton*clearMemoryBtn;//创建清除内存按钮QPushButton*readMemoryBtn;//创建读内存按钮QPushButton*setMemoryBtn;//创建设置内存按钮//运算QPushButton*signBtn;//+/-QPushButton*addBtn;QPushButton*subBtn;QPushButton*mulBtn;QPushButton*divideBtn;QPushButton*sqrtBtn;//开方QPushButton*squBtn;//平方QPushButton*cubeBtn;//立方QPushButton*logBtn;QPushButton*recipBtn;//倒数QPushButton*factBtn;//阶乘QPushButton*sinBtn;QPushButton*cosBtn;QPushButton*tanBtn;QPushButton*InBtn;//对数QPushButton*tenxBtn;QPushButton*expBtn;QPushButton*sinhBtn;QPushButton*coshBtn;QPushButton*tanhBtn;QPushButton*xyBtn;//x^yQPushButton*modBtn;//取模QPushButton*equalBtn;doublesumMemory;privateslots://按钮所关联的槽函数voidclearMemoryBtnSlot();voidreadMemoryBtnSlot();voidsetMemoryBtnSlot();voidsignBtnSlot();voidsqrtBtnSlot();voidsinBtnSlot();voidbackBtnSlot();voidceBtnSlot();voidclearBtnSlot();voidsquBtnSlot();voidcosBtnSlot();voidsevenBtnSlot();voideightBtnSlot();voidnineBtnSlot();voiddivideBtnSlot();voidcubeBtnSlot();voidtanBtnSlot();voidfourBtnSlot();voidfiveBtnSlot();voidsixBtnSlot();voidmulBtnSlot();voidlogBtnSlot();voidInBtnSlot();voidoneBtnSlot();voidtwoBtnSlot();voidthreeBtnSlot();voidsubBtnSlot();voidrecipBtnSlot();voidtenxBtnSlot();voidzeroBtnSlot();voidpointBtnSlot();voidaddBtnSlot();voidfactBtnSlot();voidequalBtnSlot();voidexpBtnSlot();voidsinhBtnSlot();voidcoshBtnSlot();voidtanhBtnSlot();voidxyBtnSlot();voidmodBtnSlot();voidleft_bracketSlot();voidright_bracketSlot();};#endif//CACULATOR_Hcaculator.cpp源文件#includecaculator.h#includeui_caculator.hCaculator::Caculator(QWidget*parent):QDialog(parent),ui(newUi::Caculator){ui-setupUi(this);this-widgetInitial();this-widgetLayout();}Caculator::~Caculator(){deleteui;}//初始化控件voidCaculator::widgetInitial(){this-setWindowFlags(Qt::WindowCloseButtonHint);this-setWindowTitle(计算器);this-setFixedSize(this-width(),this-height());showTextEdit=newQLineEdit(this);showTextEdit-setText();showResultEdit=newQLineEdit(this);showResultEdit-setText(0);backBtn=newQPushButton(this);backBtn-setText(←);ceBtn=newQPushButton(this);ceBtn-setText(CE);clearBtn=newQPushButton(this);clearBtn-setText(C);oneBtn=newQPushButton(this);oneBtn-setText(1);twoBtn=newQPushButton(this);twoBtn-setText(2);threeBtn=newQPushButton(this);threeBtn-setText(3);fourBtn=newQPushButton(this);fourBtn-setText(4);fiveBtn=newQPushButton(this);fiveBtn-setText(5);sixBtn=newQPushButton(this);sixBtn-setText(6);sevenBtn=newQPushButton(this);sevenBtn-setText(7);eightBtn=newQPushButton(this);eightBtn-setText(8);nineBtn=newQPushButton(this);nineBtn-setText(9);zeroBtn=newQPushButton(this);zeroBtn-setText(0);pointBtn=newQPushButton(this);pointBtn-setText(.);clearMemoryBtn=newQPushButton(this);clearMemoryBtn-setText(MC);readMemoryBtn=newQPushButton(this);readMemoryBtn-setText(MR);setMemoryBtn=newQPushButton(this);setMemoryBtn-setText(MS);signBtn=newQPushButton(this);signBtn-setText(\302\261);addBtn=newQPushButton(this);addBtn-setText(+);subBtn=newQPushButton(this);subBtn-setText(-);mulBtn=newQPushButton(this);mulBtn-setText(*);divideBtn=newQPushButton(this);divideBtn-setText(/);right_bracket=newQPushButton(this);right_bracket-setText());left_bracket=newQPushButton(this);left_bracket-setText(();sqrtBtn=newQPushButton(this);sqrtBtn-setText(√);squBtn=newQPushButton(this);squBtn-setText(x²);cubeBtn=newQPushButton(this);cubeBtn-setText(x³);logBtn=newQPushButton(this);logBtn-setText(log);recipBtn=newQPushButton(this);recipBtn-setText(1/x);factBtn=newQPushButton(this);factBtn-setText(n!);sinBtn=newQPushButton(this);sinBtn-setText(sin);cosBtn=newQPushButton(this);cosBtn-setText(cos);tanBtn=newQPushButton(this);tanBtn-setText(tan);InBtn=newQPushButton(this);InBtn-
本文标题:qt5计算器代码
链接地址:https://www.777doc.com/doc-5723534 .html