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

这篇具有很好参考价值的文章主要介绍了(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()方法,进入主事件循环

        上述代码运行后会创建一个窗口,如下图所示:

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

④在窗口上增加控件        

        接下来我们在这个窗口上添加控件,添加控件需要先添加画布,把所有的控件都布局到画布中,添加画布的代码如下,其中-1为ID值,可以自定义,也可以用-1由wxPython自动生成一个新的ID。文章来源地址https://www.toymoban.com/news/detail-838970.html

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)

到了这里,关于(Part2)Python编写的计算跳过带有特定数字的车位数量小程序,并利用wxPython做成GUI界面打包成可执行文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习需要掌握的数学知识②【线性代数-part2】

    1.克莱姆法则 线性方程组 { a 11 x 1 + a 12 x 2 + ⋯ + a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + ⋯ + a 2 n x n = b 2 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ a n 1 x 1 + a n 2 x 2 + ⋯ + a n n x n = b n begin{cases} a_{11}x_{1} + a_{12}x_{2} + cdots +a_{1n}x_{n} = b_{1} \\\\ a_{21}x_{1} + a_{22}x_{2} + cdots + a_{2n}x_{n} =b_{2} \\\\ quadcdotscdotscd

    2024年02月16日
    浏览(53)
  • 【UE4 RTS】12-HUD functionality Part2

    本篇实现了通过按钮控件暂停、加快、减慢游戏速度的功能。 1. 打开控件蓝图“GameTime_HUD”,在设计器中对进度条控件的百分比创建一个绑定函数  绑定函数命名为“Get_ProgressBar_GameSpeed_SetSpeedDisplay”,并设置该函数类别属于GameSpeed    新建一个浮点类型的变量,命名为“

    2024年02月12日
    浏览(38)
  • 新星计划Day6【数据结构与算法】 链表Part2

    👩‍💻博客主页:京与旧铺的博客主页 ✨欢迎关注🖱点赞🎀收藏⭐留言✒ 🔮本文由京与旧铺原创,csdn首发! 😘系列专栏:java学习 💻首发时间:🎞2022年4月30日🎠 🎨你做三四月的事,八九月就会有答案,一起加油吧 🀄如果觉得博主的文章还不错的话,请三连支持一

    2023年04月08日
    浏览(60)
  • 【果树农药喷洒机器人】Part2:机器人变量喷药系统硬件选型

    📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉 📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处

    2024年02月14日
    浏览(51)
  • 【DRAM存储器五】DRAM存储器的架构演进-part2

    👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容  参考书籍:《Memory Systems - Cache, DRAM, Disk》      目录

    2024年02月07日
    浏览(41)
  • 单调栈part2 | ● 503.下一个更大元素II ● 42. 接雨水

    本篇我侧重与说一说,如何处理循环数组。 相信不少同学看到这道题,就想那我直接把两个数组拼接在一起,然后使用单调栈求下一个最大值不就行了! 确实可以! 将两个nums数组拼接在一起,使用单调栈计算出每一个元素的下一个最大值,最后再把结果集即result数组resiz

    2024年02月13日
    浏览(74)
  • ACM论文LaTeX模板解析(四)| 文章顶部信息(Top matter))Part2

    本文收录于专栏:ACM 论文 LaTeX模板解析,本专栏将会围绕ACM 论文 LaTeX模板解析持续更新。欢迎点赞收藏+关注! 本文接着ACM论文LaTeX模板解析(三)| 文章顶部信息(Top matter))Part 1继续解析。 thanks :与 amsart 一样(也与标准 LATEX 不同),我们只允许在命令 title 和 autho

    2024年01月16日
    浏览(49)
  • 华为HCIA备考(数通) PART2(第二轮刷题后还易错的题)

    总结:最难记得是数字!!!!!!!!!!! 1.RSTP协议不包含 Blocking 端口 2.IEE802.1Q定义的VLAN帧格式中VLAN ID总共 12bit 。 3.WLAN所使用的加密算法安全强度最高的是 CCMP 。 4.当AP与AC处于不同三层网络时,推荐使用 DHCP 方式让AP发现AC。 5.OSPF协议使用 LSR 报文请求本地缺少的L

    2024年02月10日
    浏览(54)
  • MemFire教程|FastAPI+MemFire Cloud+LangChain开发ChatGPT应用-Part2

    上篇文章我们讲解了使用FastAPI+MemFire Cloud+LangChain进行GPT知识库开发的基本原理和关键路径的代码实现。目前完整的实现代码已经上传到了github,感兴趣的可以自己玩一下: https://github.com/MemFire-Cloud/memfirecloud-qa 目前代码主要完成了如下一些基本功能: 使用FastAPI作为Web服务端

    2024年02月14日
    浏览(44)
  • linux ext3/ext4文件系统(part2 jbd2)

    jbd2(journal block device 2)是为块存储设计的 wal 机制,它为要写设备的buffer绑定了一个journal_head,这个journal_head与一个transaction绑定,随着事务状态的转移(运行,生成日志,日志块刷盘,数据块刷盘),journal_head会转移到事务相应的journal队列中(t_buffers、t_shadow_list、t_forge

    2024年02月21日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包