首页 技术 正文
技术 2022年11月11日
0 收藏 359 点赞 3,821 浏览 1812 个字

版权声明:本文为博主原创文章,未经博主同意不得转载。https://blog.csdn.net/guodongxiaren/article/details/26046543

执行效果

Qt计算器开发(三):执行效果及项目总结Qt计算器开发(三):执行效果及项目总结Qt计算器开发(三):执行效果及项目总结

Qt计算器开发(三):执行效果及项目总结

project文件夹

Counter
|— Counter.pro
|— 头文件
|      |— aboutdialog.h
|      `— mainwindow.h
|— 源文件
|      |— aboutdialog.cpp
|      |— main.cpp
|      `— mainwindow.cpp
`— UI文件
       |— aboutdialog.ui
       `— mainwindow.ui

总结

项目

这个project的Ui部分我是直接使用Qt designer拖出来的。不不过由于方便啦,更重要的是这个一个非常好的MVC思想的运用。就像Android里面用xml和java分别写界面和逻辑一样。当我们改变界面的时候。背后的实现逻辑无需改动,而当我们改动实现逻辑的时候,界面又不会受到干扰。上面的project文件夹里面的aboutdialog.h和aboutdialog.cpp一句aboutdialog.ui就是一个“关于”的对话框,效果也在上面截图给出啦。没什么复杂的地方。能够使用Qt的富文本来实现里面的文字图片展示。

吐槽

这是一个入门级的Qt计算器的开发过程。在这个项目開始之前。我对Qt语法了解不多,開始去做这个浏览器全然是为了实战数据结构中的后缀表达式算法。

从电工实习那周開始吧,反正那时闲着也是闲着。就開始做了这个计算器。大概两周多一点的时间。眼下已知的bug所有修复了。

。未知的bug等待时间检验吧。。

在Windows和Ubuntu上都有敲过这个project的代码,毕竟GitHub是个强大的东西,在两个系统里面做同一个project也不难,只需git push。git pull 就能够了。

计算器本身呢,还有非常多可扩展的地方。比方日期加减,进制转换,货币转换等等。不过,总之呢。应该告一段落了。

通过这个实践能够非常清楚地得出一个结论:界面绝不是最重要的,界面非常easy做出来,有问题百度一下,分分钟也能解决。重要的是什么?算法。这是对栈和后缀表达式的一个实战。难点就在这个算法上。眼下小数点后面位数或者说精度有限。假设要实现小数点后面很多其它位数的计算结果,那么又会涉及到高精度的算法。没错,还是算法。毕竟C++没有Java那种“大数类”。

这个是使用的C++的Qt框架编的。毕竟Qt跨平台,Linux。Windows都能用。

还有一个著名的C++的GUI框架MFC。我并不喜欢。

MFC是微软做的,也是我们下学期Windows程序设计这门选修课要教的东西。因此我没有选Windows这门选修课。我并非为了混学分而选课的人。。

时间宝贵,怎能浪费。。

个人感觉:MFC太复杂,尽管是C++,但面向过程的东西太多,太多结构体,还有太多微软自己定义的宏。

并且类名,宏名的都是非常长的名字。并且不是可读性强的名称,记起来和敲起来都甚为不便。还有MFC的设计哲学,并不会是开发人员对面向对象的概念有多大提高。

而是让开发人员纠结在非常多细枝末节上。。毕竟MFC在90年代初期就出现了,那时候C++标准还未成熟,面向对象软件project的理论也不成熟。并且那时候设计模式的理论貌似还未提出或者刚刚提出。所以导致了MFC的先天畸形。所以进入两千年后,微软对MFC的更新放慢了。后来干脆就主推C#的winform、WPF了。

================= 本 项 目 文 章 及 源 码 链 接===============
|== Qt计算器开发(一):后缀表达式实现完整数学表达式的计算  ==|
|== Qt计算器开发(二):信号槽实现数学表达式合法性检查         ==|
|== Qt计算器开发(三):执行效果及项目总结                         ==|
|== Qt计算器源代码下载(免积分)                                                   ==|
|== Qt计算器GitHub托管地址(代码会不定期更新,敬请关注)        ==|
=======================================================

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,493
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295