《面向对象程序设计》c++第六次作业___calculator SE
c++第五次作业 Calculator SE
PS:这次作业延迟了很久,人要是迷茫啊…………唉~~~~~~
新增GUI界面,使用Qt creator编写,纯代码生成控件、写坐标。
感觉Qt creator非常的舒适,一开始尝试了MFC,但是觉得整个机制比较难懂,而且看网上的评价觉得MFC在被淘汰的边缘,所以毅然决然跳坑选择了Qt,但是静态编译是个大麻烦,不过最后竟然没传成功……早知道写完就传代码了。(安利:最近有WWDC,果粉可以去看看)
使用方法:
- open、close按钮可以开关文件路径、提交按钮,使用电脑键盘键入时建议关闭路径;
- 各种操作按键包括“+”、“-”、“*”、“/”、“^(乘方)”、“.(小数点)”、“( )”、“ESC(清除)”、“BackSpace(回格)”;
- 支持键盘输入、软键盘输入;
- 每次运算结束表达式自动清除;
界面图片:
MainWindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>//界面窗口头文件
#include <qpushbutton.h>//按键头文件
#include <qlabel.h>//标签头文件
#include <qlineedit.h>//单行文本输入框头文件
#include <QKeyEvent>//键盘输入头文件
using namespace std;
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
signals:
void numberEmitted(int number);
private slots:
void clear();
//ESC的清除表达式操作
void equals();
//输入等号的操作
void buttonPushed();
//输入数字的操作
void operationPushed();
//输入符号的操作
void setGeo();
//界面生成时规划空间几何位置的操作
void submitPath();
//输入路径后的提交操作
void fileOperation(const char *i,const char *o);
//文件处理操作
void keyPressEvent(QKeyEvent *e);
//键盘输入操作
void addNumber(QString num);
//软键盘键入或键盘键入后的添加数字操作
void addOpe(QString ope);
//软键盘键入或键盘键入后的添加操作符操作
void getResult();
//按下等号后开始计算的操作
void fileOpeAppear();
//打开路径文本条操作
void fileOpeDisappear();
//关闭路径文本条操作
void BackSpace();
//回格操作
private:
QLabel *title;
QLabel *label;
QPushButton *submitButton;
QPushButton *operationButton[10];
QPushButton *buttons[10];
QLineEdit *inputPath;
QLineEdit *outputPath;
QPushButton *filePath;
QPushButton *hideFilePath;
QPushButton *backspace;
};
#endif // MAINWINDOW_H
(此处不贴具体MainWindow.cpp里的操作,有兴趣的同学移步github)