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的更多相关文章

  1. Week06《Java程序设计》第六次作业总结

    Week06<Java程序设计>第六次作业总结 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行 ...

  2. 201621123080《java程序设计》第六周作业总结

    201621123080<java程序设计>第六周作业总结 1. 本周学习总结 2. 书面作业 clone方法 1.1 在test1包中编写Employee类,在test2包中新建一个Te ...

  3. 201621123062《java程序设计》第六周作业总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰 ...

  4. 201621123079《java程序设计》第六周作业总结

    作业06-接口.内部类 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 2. 书面作业 1. c ...

  5. 《面向对象程序设计》第三次作业 Calculator

    c++第三次作业 Calculator git上的作业展示点这里. ps:有一点不是很明确,作业要求:将数字和符号提取出来,得到一组string,然后才将这些string存入队列中.按我的理解是需要将 ...

  6. 面向对象程序设计(C++)_作业一_设计、定义并实现Complex类

    源代码: 运行结果:

  7. THE LAST ONE!! 2017《面向对象程序设计》课程作业八

    THE LAST ONE!! 2017<面向对象程序设计>课程作业八 031602230 卢恺翔 GitHub传送门 题目描述 1.时间匆匆,本学期的博客作业就要结束了,是否有点不舍,是否 ...

  8. 201871010116-祁英红《面向对象程序设计(java)》第十六周学习总结

    博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://ww ...

  9. 201871010123-吴丽丽 《面向对象程序设计(Java)》第十六周学习总结

    201871010123-吴丽丽 <面向对象程序设计(Java)>第十六周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

随机推荐

  1. 【Leetcode】338. Bit位计数

    每次刷leetcode都有一种发现新大陆的感觉. 题目链接:https://leetcode-cn.com/problems/counting-bits/description/ 给定一个非负整数 n ...

  2. Java SDK夯住(Hang)问题排查

    夯住(Hang)是指程序仍在运行,卡在某个方法调用上,没有返回也没有异常抛出:卡住时间从几秒到几小时不等. Java程序发生Hang时,应该首先使用 jstack 把java进程的堆栈信息保存下来 , ...

  3. 并发编程 —— ScheduledThreadPoolExecutor

    1. 前言 在前面的文章中,我们介绍了定时任务类 Timer ,他是 JDK 1.3 中出现的,位于 java.util 包下.而今天说的 ScheduledThreadPoolExecutor的是在 ...

  4. 学习MVC和jQuery相关的书

    Insus.NET还是较喜欢看纸质书.学习ASP.NET MVC和jQuery编程,Insus.NET为了加强功力,决定再购买几本相关的书:   十月份时,还买了一本: 前两本快递刚送到手,后一本已经 ...

  5. css溢出滚动条及去除滚动条的方法

    <div class="father"> <div class="childern"></div> </div> ...

  6. Asp.net core WebApi 使用Swagger生成帮助页实例

    最近我们团队一直进行.net core的转型,web开发向着前后端分离的技术架构演进,我们后台主要是采用了asp.net core webapi来进行开发,开始每次调试以及与前端人员的沟通上都存在这效 ...

  7. angularjs学习第二天笔记---过滤器

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...

  8. Computer - 在VM7虚拟机中使用主机打印机

    在VM7虚拟机中使用主机打印机 在VMware Workstation 7中提供了一项新的功能:虚拟机可以直接使用主机的打印机.在以前的版本中,如果想在虚拟机中使用主机的打印机,一般是在主机创建“打印 ...

  9. 了解java虚拟机—JVM相关参数设置(2)

    1.   JVM相关参数设置 JVM相关配置 -XX:+PrintGC 两次次YoungGC,两次FullGC. -XX:+PrintGCDetails 打印GC时的内存,并且在程序结束时打印堆内存使 ...

  10. TCP Socket Http关系

    理解Tomcat内部处理网络数据的机制同时需要了解相关的一些术语,这样我们在阅读源码的时候能更加清楚的理解Connector下使用到的Socket通信原理. TCP/IP: 数据在网络传输是基于TCP ...