用 Python 实现简易计算器 ( 下 )

943 阅读5分钟

上一篇讲了 用 Python 实现一个计算器的前期准备,从新建项目到 PyQt5安装、配置和使用,最后完成了一个比较丑的计算器界面布局。

本篇文章开始详细讲解后续实现计算器功能的讲解。

主要涉及的知识点有:

1、Python 变量的认识;

2、Python 运算符的知识;

3、Python 的数据类型的理解和运用;

4、PyQt5 designer 添加 CSS 样式等高级点的用法;

5、将 Python 代码打包成可执行文件;

以上知识点是我从做一个计算器过程中需要用到的 Python 知识点分析,感觉每一条都比较重要。开始有点轻视了做一个计算器是一件多么简单的事情,等到真正开始做时才发现,并没有想象中那么简单。

界面修改

上次做了一个半成品的界面,有的朋友可能会觉得比较丑,的确,也是是很丑。但是,管他丑不丑,能通过做一个计算器有些实质性的收获才是最重要的。

好,这次先从修改界面开始

打开 PyCharm 后,启动 PyQt5 designer 工具

这是修改后的界面效果,感觉还是很丑,对吧!可能程序员的审美观有待提高吧,这里,当然指的是我这个程序员,大多数程序员审美观还是很强的,呵呵!

在界面修改过程中,发现有几个地方还是很值得在此记录和分享给朋友们

1、PyQt5 designer 支持 CSS 样式修改,当需要修改某个控件样式时,选中控件,单击鼠标右键,点击 “Change styleSheet……”,进入控件样式修改界面

如图,这是我对显示计算结果控件配置的 CSS 样式

background-color: rgb(210, 226, 241) 背景颜色

border-radius: 5px 圆角

color: rgb(0, 0, 0); 字体颜色

感觉这功能太强大了,只要你 CSS 技术好,做出来的界面肯定很好看,我的 CSS 技术可能就比较差,做不出好看的界面。

2、试了一下控件插入图片功能,如计算器界面中清除数据按钮上的图片,这里插入图片功能感觉有点绕。详细步骤

前面步骤还是同添加 CSS 样式一样的步骤,打开样式修改界面后,点击 “Add Resource”。

如图,添加完成后就会在这显示 一段 CSS 样式,这里添加的是 image 样式。

点击 “Add Resource”下的 image,进入资源编辑界面

默认在 resource root 目录下是没有任何资源的,这里我添加完成后才有的显示,点击图中蓝色框部分,进入真正的编辑界面。

这个界面感觉非常的坑,第一次进入界面时也没有人和资源,下面那一排按钮大多也是显示不可点击的状态,找半天可能都找不到在哪个位置新建资源文件,最后,拿着放大镜在左下角(红框部分)找到,这按钮跟底色背景太相近了,一不留神就看不到。

新建好资源文件资源文件后,还需要把图片添加到资源文件下,并不是直接添加图片就可以,新建的好的资源文件时一个后缀名为 .qrc 文件,资源文件,最好保存在工程目录下,方便后期查看,维护。

新建好的资源文件如何在 Python 代码中使用呢?

在 Python 中使用 .qrc 资源文件,需要先将 .qrc 文件生成一个对应的 Python 文件,如 PyQt5 designer 使用大致相同。

也需要在 PyCharm 配置 File | Settings | Tools | External Tools,这里给出配置参数,供大家参考。

Program: F:\Python\Python38\Scripts\pyrcc5.exe

Arguments: FileName -o FileNameWithoutExtension_rc.py

Working directory: FileDir

编写代码

编写代码这个过程是一个比较享受的过程。我应该算是第一次写这么多关于 Python 代码吧,以前主要从事 Android 和一些 C# 开发,在写的过程中也发现了自己很多不足。比如,我自以为自己有点其它开发语言基础,对 Python 相关语法资料学习比较少,导致在开发中经常断线,经常遇到一些小问题。涉及问题的大致方面就是开篇列出的关于 Python 的一些知识点。

所以,做事想走近路,必然会补课的。至于具体感觉我想还得大家亲身去体会才能悟到。

相关代码截图

打包成可执行文件

写过 Java GUI 或 WinForm的朋友就知道,这两个都需要配置很多,打包很久才能打包完成,以经验主义思考问题的我也以为 Python 开发的应用程序也需要配置很多参数才能完成打包。

结果,出乎意料的简单!

打开 cmd 命令或在 PyCharm 中用 pip 命令安装好 PyInstaller,然后运行 pyinstaller -F -w .py 命令即可完成打包,.py 是指你项目文件中主启动页面。

如图,出现 completed successfully. 即打包完成。

来一张最终的效果图,有点小巧,要不怎么叫简易计算器呢。

还在等什么呢,赶快“从入门到实践”吧,别来“从入门到放弃”啊!

总体感受,写 Python 代码相比写Java、C# 等开发语言都流畅。

代码已上传 GitHub,github.com/Jboob/Pytho…

初次练习 Python ,不足之处,大佬请批评。