《面向对象程序设计》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)
《面向对象程序设计》c++第六次作业___calculator SE的更多相关文章
- Week06《Java程序设计》第六次作业总结
Week06<Java程序设计>第六次作业总结 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行 ...
- 201621123080《java程序设计》第六周作业总结
201621123080<java程序设计>第六周作业总结 1. 本周学习总结 2. 书面作业 clone方法 1.1 在test1包中编写Employee类,在test2包中新建一个Te ...
- 201621123062《java程序设计》第六周作业总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰 ...
- 201621123079《java程序设计》第六周作业总结
作业06-接口.内部类 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 2. 书面作业 1. c ...
- 《面向对象程序设计》第三次作业 Calculator
c++第三次作业 Calculator git上的作业展示点这里. ps:有一点不是很明确,作业要求:将数字和符号提取出来,得到一组string,然后才将这些string存入队列中.按我的理解是需要将 ...
- 面向对象程序设计(C++)_作业一_设计、定义并实现Complex类
源代码: 运行结果:
- THE LAST ONE!! 2017《面向对象程序设计》课程作业八
THE LAST ONE!! 2017<面向对象程序设计>课程作业八 031602230 卢恺翔 GitHub传送门 题目描述 1.时间匆匆,本学期的博客作业就要结束了,是否有点不舍,是否 ...
- 201871010116-祁英红《面向对象程序设计(java)》第十六周学习总结
博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://ww ...
- 201871010123-吴丽丽 《面向对象程序设计(Java)》第十六周学习总结
201871010123-吴丽丽 <面向对象程序设计(Java)>第十六周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
随机推荐
- new~mac os 给终端命令写alias(及其他常用命令)及软连接
配置执行顺序 优先级 配置 说明 1 /etc/profile 系统级别 —— 不推荐修改 2 /etc/paths 系统级别 —— 不推荐修改 3 ~/.profile 用户设置 4 ~/.bash ...
- 在VS2010中使用Git管理源代码
前文我们讲了使用TortoiseGit管理源代码,但是对于使用VS2010的朋友来说,源代码管理起来还是不怎么方便.要是直接在VS2010中能使用Git就好了,下面我们就来看看怎么在VS2010中使用 ...
- [android] fragment的生命周期和通讯
重写一下生命周期方法 所有的fragment都是依附于activity的,只有当activity显示出来的时候,fragment才能够创建上去 onAttach,当附加到activity上的时候 on ...
- CentOS7 配置静态IP
在mini安装完CentOS7后,如果想让电脑能够上网,则必须要进行网络配置. 本虚拟机使用NAT模式上网,网络配置步骤如下: ifconfig命令查到机器网卡: vi /etc/sysconfig/ ...
- Oracle总结之plsql编程(基础九)
原创作品,转自请注明出处:https://www.cnblogs.com/sunshine5683/p/10344302.html 接着上次总结,继续今天的总结,今天主要总结plsql中控制语句,如条 ...
- HDU4565(SummerTrainingDay05-C 矩阵快速幂)
So Easy! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- Vue: ES6常用语法
ES6 模板字符串: ~ ${变量名}~ <div id="app"></div> <script> /* 找到对应id */ let ite ...
- 【转】android系统常用URI
android系统管理联系人的URI如下:ContactsContract.Contacts.CONTENT_URI 管理联系人的UriContactsContract.CommonDataKinds ...
- python-外观模式
源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 外观模式又叫做门面模式.在面向对象程序设计中,解耦是一种推崇的理念.但事实上由于 ...
- cf280C. Game on Tree(期望线性性)
题意 题目链接 Sol 开始想的dp,发现根本不能转移(貌似只能做链) 根据期望的线性性,其中\(ans = \sum_{1 * f(x)}\) \(f(x)\)表示删除\(x\)节点的概率,显然\( ...