百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

第19天 | 25天学会wxPython,进度条,简单却好用

off999 2024-09-14 07:14 50 浏览 0 评论

在友好的产品设计当中,如果遇到用户操作需要等待较长时间的任务场景,比如上传或下载,经常会用进度条,用于显示当前任务的状态。wxPython中,进度条组件为wx.Gauge,它的使用简单便捷,代码如下所示:

程序清单:gauge.py

import wx


# 继承Frame
class GaugeControl(wx.Frame):
    gauge = None
    count = 0
    timer = None

    def __init__(self, *args, **kwargs):
        super(GaugeControl, self).__init__(*args, **kwargs)
        # 初始化窗口UI
        self.init_ui()

    def init_ui(self):
        # 面板
        panel = wx.Panel(self)
        # 进度条
        self.gauge = wx.Gauge(panel, range=100, pos=(20, 160), 
                              size=(180, -1))
        # 上传按钮
        upload_btn = wx.Button(panel, id=wx.ID_ANY, label="开始上传",
                               pos=(20, 200))
        self.Bind(wx.EVT_BUTTON, self.upload, upload_btn)
        # 计时器
        self.timer = wx.Timer(self, id=wx.ID_ANY)
        self.Bind(wx.EVT_TIMER, self.time, self.timer)
        self.SetSize(900, 500)
        self.SetTitle("进度条应用")
        self.Centre()
        self.Show(True)

    def upload(self, e):
        # 启动
        self.timer.Start(100)

    def time(self, e):
        self.count = self.count + 1
        self.gauge.SetValue(self.count)
        if self.count == 100:
            self.timer.Stop()
            print("任务已完成")


def main():
    app = wx.App(False)
    GaugeControl(None)
    app.MainLoop()


if __name__ == "__main__":
    main()

运行程序之后,弹出的窗口如下:

进度条wx.Gauge的range属性设置最大范围值,默认为100。使用wx.Timer()创建定时器,Bind绑定wx.EVT_TIMER事件和处理函数,使用方法Start(milliseconds=-1, oneShot=False)启动定时器,其中参数milliseconds是毫秒数,表示经过milliseconds时间后,将产生一个wx.EVT_TIMER事件,用Stop()方法停止定时器。

好了,进度条组件的内容就说到这了,关注我,下一节更精彩。

码字不易,你的关注和转发是对我最大的鼓励,谢谢!

一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货了。赶紧来围观啊!!!

#python##好平台好讲师##程序员##热搜##桌面#

相关推荐

win7重装系统一直反复重启(win7重装系统无限重启)

WIN7的系统装重复了,可以将原安装的系统删除,方法如下:1、如果以前的windows是安装在C盘上的话,点击桌面上的计算机,选中C盘,鼠标右键选择属性;2、点磁盘清理;3、点清理系统文件,点确定;4...

电脑如何格式化sd卡(电脑格式化sd卡,提示写有保护)

要在电脑上格式化SD卡,可以按照以下步骤:1.将SD卡插入计算机的SD卡读卡器中。2.打开“我的电脑”或“此电脑”,找到SD卡在计算机上的驱动器号(比如E盘)。3.右键单击SD卡驱动器,选择“格...

系统检测不到机械硬盘(系统检测不到机械硬盘怎么办)

第一,我们需要确认一下机械硬盘是否连接正常。可以检查一下硬盘的电源线和数据线是否插紧,是否松动或者断开。如果发现有松动或者断开的情况,可以重新插上并确保插紧。如果硬盘连接正常,但电脑仍然无法读取,那么...

路由器管理平台登录(路由器管理平台登录网址)

路由器的用户登录入口地址是:tplogin.cn电信运营商定制款登录地址是:192.168.2.1或者192.168.8.12、华为(容易)路由器华为路由器跟荣耀路由器只有IP地址,没有域名,它是...

directx修复(DirectX修复工具官网下载)

使用DirectX修复工具很简单。首先需要下载并安装工具,然后打开工具并按照界面提示进行操作即可。工具的作用是自动检测系统中可能存在的DirectX问题,并尝试修复它们,从而保证计算机游戏等应用程序的...

网易邮箱app官方下载安装(网易邮箱163)
网易邮箱app官方下载安装(网易邮箱163)

有些东西调用外部下载软件(如迅雷)是无法下载的,有时下载后不能正常打开,请尝试:在所要下载的文件上点击右键,选择“目标另存为”,也许就能成功下载。下载从网易163邮箱发来的云附件的步骤如下:1.成功登录网易邮箱后,我们点击页面左上角的“收件...

2025-12-18 16:51 off999

产品密钥是什么意思(产品密钥有什么用处)

产品密钥是产品授权的证明,有了它才能使用这个产品。软件商在生产自己产品时,为每个产品输入一个序列号(注册号/密钥),如“KH2J9-PC326-T44D4-39H6V-TVPBY”,用户要通过这个序列...

电脑怎么重新分区扩大c盘(电脑怎么重新分区扩大c盘容量)
  • 电脑怎么重新分区扩大c盘(电脑怎么重新分区扩大c盘容量)
  • 电脑怎么重新分区扩大c盘(电脑怎么重新分区扩大c盘容量)
  • 电脑怎么重新分区扩大c盘(电脑怎么重新分区扩大c盘容量)
  • 电脑怎么重新分区扩大c盘(电脑怎么重新分区扩大c盘容量)
电脑打不开一直重启(电脑打不开一直重启黑屏)

电脑一直反复启动的原因和解决方法有以下几点:1、电脑内存问题,可以尝试更换内存条。2、电脑主板问题,给主板放电即可。3、硬盘模式有误,更改回正确模式即可。4、硬盘驱动有更改,把刚安装的驱动卸载就可进入...

win7 自动关机(win7自动关机设置)

具体解决方法/步骤如下:1、首先先摸一下主机箱,看看是不是很烫,打开机箱盖,看看主机电源和CPU散热器是不是不转了,一般电脑如果温度过高的话,硬件会开启保护措施,会自动关机,如果风扇不转了,建议立即更...

绿茶软件园官网(下载绿茶软件园)

就是,广告满天飞,评论都是刷的。

路由器密码锁解锁教程(路由器密码忘怎么设置)

1.路由器IP地址定位:通常而言,路由器在连接主网线之后,会广播一个自身的网络IP地址,一般如下:192.168.1.0,192.168.1.1,目前各大路由器厂商也会播出一些怪异的地址,比如10.1...

台式电脑键盘按键错乱怎么恢复

如果你的机械键盘按键错乱,你可以尝试将键盘连接到电脑上,然后通过按下“Ctrl”、“Alt”和“Del”键同时重启电脑,看看是否能够恢复默认设置。另外,你还可以尝试在控制面板中找到键盘设置,检查是否有...

移动硬盘格式化后还能用吗(移动硬盘格式化后数据会丢失吗)

当然可以使用!格式化只是里面的所有文件会没有,还可以再存储的。格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被...

手机系统升级好不好

手机系统并不是随时更新,都是好用的,手机主要针对你的处理器,如果老型使用年头比较多的手机,不建议更新系统,更新系统之后容易造成耗电量非常大,卡顿现象比较严重,而新出的手机产品处理器功率都偏大,这种手机...

取消回复欢迎 发表评论: