(Part2)Python编写的计算跳过带有特定数字的车位数量小程序,并利用wxPython做成GUI界面打包成可执行文件

1.概述

         本文主要讲述利用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界面,并且打包成可执行文件。

2.代码实现

(1)Python环境代码实现

        此部分内容详见本人另一篇文章:Python编写的计算跳过带有特定数字的车位数量小程序,并利用wxPython做成GUI界面打包成可执行文件(Part1)

(2)wxPython创建GUI界面 

①wxPython简介

        wxPython是Python语言的一套优秀的GUI图形库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。(# 来源于百度百科

②安装wxPython

         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的构造函数可以创建静态文本,构造函数如下:
wx.StaticText(parent, id, label, pos=wx.DefaultPosition,size=wx.DefaultSize, style=0, name=”staticText”)
         wx.StaticText构造函数的各个参数如下:
parent:父窗口部件。
id:标识符。使用-1可以自动创建一个唯一的标识。
label:你想显示在静态控件中的文本。
pos:一个wx.Point或一个Python元组,它是窗口部件的位置。
size:一个wx.Size或一个Python元组,它是窗口部件的尺寸。
style:样式标记。
name:对象的名字,用于查找的需要。
        如下代码是我们创建的静态文本:
wx.StaticText(panel, -1, '请输入起始车位号', pos=(30, 30))
        wx.TextCtrl类的构造函数可以创建单行文本输入框,构造函数如下:
wx.TextCtrl(parent, id, value = ””, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, validator=wx.DefaultValidator,name=wx.TextCtrlNameStr)

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 04:34:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 04:34:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 04:34:02       87 阅读
  4. Python语言-面向对象

    2024-03-10 04:34:02       96 阅读

热门阅读

  1. 使用conda安装rasa macbook亲测有效

    2024-03-10 04:34:02       42 阅读
  2. Django常用命令

    2024-03-10 04:34:02       43 阅读
  3. Lwip之TCP客户端示例记录

    2024-03-10 04:34:02       42 阅读
  4. PTA天梯 L2-009 抢红包

    2024-03-10 04:34:02       41 阅读
  5. Elasticsearch:dense vector 数据类型及标量量化

    2024-03-10 04:34:02       41 阅读
  6. flutter 获取屏幕尺寸

    2024-03-10 04:34:02       40 阅读
  7. SpringCloud-使用Feign组件调用其他微服务的接口

    2024-03-10 04:34:02       50 阅读
  8. linux系统部署Elasticsearch集群

    2024-03-10 04:34:02       49 阅读
  9. Jenkins快速了解

    2024-03-10 04:34:02       47 阅读
  10. SQL语句

    SQL语句

    2024-03-10 04:34:02      37 阅读