《面向对象程序设计》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)

原文地址:https://www.cnblogs.com/vayhang-E-airshiner/p/5586865.html