本文主要讲述利用Python来编写一个可以计算跳过带有特定数字的车位数量小程序。并且又利用第三方库wxPython做出GUI界面,打包成可执行文件。
现实中有这样的实际案例,某楼盘的地下车库的数量有2000多个车位,车位分成了5个分区,每个分区有400-500个车位数量不等。并且车位的编号已经在图上一一编好了,比如起始号是001,终止号是720。但是营销人员在编写车位号码时避开了带有数字4和数字18的车位号,例如4、14、18、24、40、118、114等等,这样我们就不能直接用终止号减起始号再加一的算法来算出来车位的数量了。
因此为了方便统计这种跳号的车位总数,我写了这么一段简单的代码。本代码利用的是python非常基础的知识,例如字符串的操作、列表的操作、for循环、input函数、自定义函数等等,由浅入深逐步完善整个代码。非常适合Python小白刚学完列表和字符串相关操作后练手使用。wxPython部分的应用也是非常基础的用法,主要是用户输入文本框、静态文本以及按钮控件的基础知识。
为了方便给不会使用Python,电脑上也没有Python开发环境的人使用这个小工具,就需要我们做出GUI界面,并且打包成可执行文件。
此部分内容详见本人另一篇文章:Python编写的计算跳过带有特定数字的车位数量小程序,并利用wxPython做成GUI界面打包成可执行文件(Part1)
wxPython是Python语言的一套优秀的GUI图形库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。(# 来源于百度百科)
wxPython是Python的第三方库,需要用pip安装,如下代码:
pip install wxpython
如下代码是创建一个窗口的基本代码,具体可详见代码中注释内容:
- import wx # 导入wxpython模块
-
-
- class MyFrame(wx.Frame): # 定义一个wx.Frame的子类,以便我们更容量控制窗口的内容和外观
- def __init__(self): # 定义初始化方法
- # 设置框架的标题和尺寸
- wx.Frame.__init__(self, None, -1, title='计算车位数小程序', size=(400, 300))
-
-
- # 以主程序运行
- if __name__ == '__main__':
- app = wx.App() # 创建一个应用程序实例
- frame = MyFrame() # 创建窗口的实例
- frame.Show() # 使窗口可见
- app.MainLoop() # 调用应用程序实例的MainLoop()方法,进入主事件循环
上述代码运行后会创建一个窗口,如下图所示:
接下来我们在这个窗口上添加控件,添加控件需要先添加画布,把所有的控件都布局到画布中,添加画布的代码如下,其中-1为ID值,可以自定义,也可以用-1由wxPython自动生成一个新的ID。
panel = wx.Panel(self, -1)
wx.StaticText(panel, -1, '请输入起始车位号', pos=(30, 30))