精华内容
参与话题
问答
  • 进度条

    千次阅读 2019-03-19 13:43:09
    在日常开发中,出现了一些业务要求查看进度的需求,这里我想到了进度条,自己看了一些资料,自己做了一些整理。这边和大家分享一下。 1 背景知识 1.1 sys.stdout 与 print 当我们在 Python 中打印对象调用 print...

    在日常开发中,出现了一些业务要求查看进度的需求,这里我想到了进度条,自己看了一些资料,自己做了一些整理。这边和大家分享一下。

    1 背景知识

    1.1 sys.stdout 与 print

    当我们在 Python 中打印对象调用 print(obj) 时候,事实上是调用了 sys.stdout.write(obj+'\n')

    print 将你需要的内容打印到了控制台,然后追加了一个换行符,即print 会调用 sys.stdout 的 write 方法

    以下两行在事实上等价:

    sys.stdout.write('hello'+'\n')
    print('hello')

    1.2  sys.stdout.flush()

    在Linux系统下,必须加入sys.stdout.flush()才能一秒输一个数字

    在Windows系统下,加不加sys.stdout.flush()都能一秒输出一个数字

    import sys
    import time
    
    for i in range(100):
        time.sleep(0.1)
        sys.stdout.write("\r" + str(i))
        sys.stdout.flush()

    1.3 set_description()

    set_description() 为进度条设置描述

    import time
    from tqdm import tqdm
    
    # 增加描述, 设置进度内容
    pbar = tqdm(["a", "b", "c", "d"])
    for char in pbar:
        time.sleep(0.1)
        pbar.set_description("Processing %s" % char)

     运行效果:

    2 代码实现

    import sys
    import time
    
    from tqdm import tqdm
    
    # 基本范例
    for i in tqdm(range(100)):
        time.sleep(0.01)
    
    # 增加描述, 设置进度内容
    pbar = tqdm(["a", "b", "c", "d"])
    for char in pbar:
        time.sleep(0.1)
        pbar.set_description("Processing %s" % char)
    
    # 手动更新
    # 一共100个,每次更新10,一共更新10次
    with tqdm(total=100) as pbar:
        # 一共更新10次
        for i in range(10):
            time.sleep(0.1)
            # 每次更新10
            pbar.update(10)
    
    
    # Appendix: 手工实现循环进度条
    def progress_bar(num, total):
        rate = float(num) / total
        ratenum = int(100 * rate)
        r = "\r{}{}{}%".format("█" * ratenum, " " * (100 - ratenum), ratenum)
        sys.stdout.write(r)
        sys.stdout.flush()
    
    
    n = 100
    for i in range(n):
        time.sleep(0.05)
        progress_bar(i + 1, n)

    3 python的tkinter进度条的实现

    import time
    import tkinter as tk
    
    # 创建主窗口
    window = tk.Tk()
    window.title('进度条')
    window.geometry('630x150')
    
    # 设置下载进度条
    tk.Label(window, text='下载进度:', ).place(x=10, y=60)
    canvas = tk.Canvas(window, width=465, height=22, bg="white")
    canvas.place(x=110, y=60)
    
    
    # 显示下载进度
    def progress():
        # 填充进度条
        fill_line = canvas.create_rectangle(1.5, 1.5, 0, 23, width=0, fill="green")
        x = 500  # 未知变量,可更改
        n = 465 / x  # 465是矩形填充满的次数
        for i in range(x):
            n = n + 465 / x
            canvas.coords(fill_line, (0, 0, n, 60))
            window.update()
            time.sleep(0.02)  # 控制进度条流动的速度
    
        # 清空进度条
        fill_line = canvas.create_rectangle(1.5, 1.5, 0, 23, width=0, fill="white")
        x = 500  # 未知变量,可更改
        n = 465 / x  # 465是矩形填充满的次数
    
        for t in range(x):
            n = n + 465 / x
            # 以矩形的长度作为变量值更新
            canvas.coords(fill_line, (0, 0, n, 60))
            window.update()
            time.sleep(0)  # 时间为0,即飞速清空进度条
    
    
    btn_download = tk.Button(window, text='启动进度条', command=progress)
    btn_download.place(x=400, y=105)
    
    window.mainloop()

    运行效果:

    展开全文
  • <view class="progress-box"> <progress percent="20" show-info stroke-width="3"/> </view> ...view class="progress-box">...progress percent="40" active stroke-width="3" />...
    <view class="progress-box">
      <progress percent="20" show-info stroke-width="3"/>
    </view>
    
    <view class="progress-box">
      <progress percent="40" active stroke-width="3" />
      <icon class="progress-cancel" type="cancel"></icon>
    </view>
    
    <view class="progress-box">
      <progress percent="60" active stroke-width="3" />
    </view>
    
    <view class="progress-box">
      <progress percent="80" color="#10AEFF" active stroke-width="3" />
    </view>
    
    展开全文
  • 实时web进度条

    热门讨论 2013-08-28 17:44:56
    在处理长任务,大数据交互是,程序容易造成假死,用户也不知道程序在做什么,于是就需要一个进度条,但是网上进度条实例,效果都不佳,都不能实时更新进度条,比如伪进度条就只能是一张图片,还有的是事务处理完后,...
  • 圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html
  • 自定义android进度条,带有进度指示,项目详情:http://blog.csdn.net/xiaanming/article/details/10298163
  • Python显示进度条,实时显示处理进度

    万次阅读 多人点赞 2017-06-26 09:51:24
    用python实现进度条功能

    这是我的推广信息,以激励自己更好的分享自己的知识和经验!也希望看到的你能够多多支持,谢谢!

    1. 滴滴云AI大师:

    目前滴滴云正在大力推广自己的云计算服务,需要购买的朋友们用我的AI大师码 「2049」在滴滴云上购买 GPU / vGPU / 机器学习产品可享受 9
    折优惠,点击这里前往滴滴云官网

    前言

    发现了一个工具,tqdm,大家可以了解一下,使用tqdm就不需要自己来写代码显示进度了
    在大多数时候,我们的程序会一直进行循环处理。这时候,我们非常希望能够知道程序的处理进度,由此来决定接下来该做些什么。接下来告诉大家如何简单又漂亮的实现这一功能。
    #如何使用这个类
    使用这个类很简单,只需要两步即可完成,如下:

    process_bar = ShowProcess(max_steps, infoDone) # 1.在循环前定义类的实体, max_steps是总的步数, infoDone是在完成时需要显示的字符串
    for i in range(max_steps):    
        process_bar.show_process()      # 2.显示当前进度
        time.sleep(0.05)    
    

    进度条的实现

    由于很简单,直接上代码

    # -*- coding: UTF-8 -*-
    
    import sys, time
    
    class ShowProcess():
        """
        显示处理进度的类
        调用该类相关函数即可实现处理进度的显示
        """
        i = 0 # 当前的处理进度
        max_steps = 0 # 总共需要处理的次数
        max_arrow = 50 #进度条的长度
        infoDone = 'done'
    
        # 初始化函数,需要知道总共的处理次数
        def __init__(self, max_steps, infoDone = 'Done'):
            self.max_steps = max_steps
            self.i = 0
            self.infoDone = infoDone
    
        # 显示函数,根据当前的处理进度i显示进度
        # 效果为[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100.00%
        def show_process(self, i=None):
            if i is not None:
                self.i = i
            else:
                self.i += 1
            num_arrow = int(self.i * self.max_arrow / self.max_steps) #计算显示多少个'>'
            num_line = self.max_arrow - num_arrow #计算显示多少个'-'
            percent = self.i * 100.0 / self.max_steps #计算完成进度,格式为xx.xx%
            process_bar = '[' + '>' * num_arrow + '-' * num_line + ']'\
                          + '%.2f' % percent + '%' + '\r' #带输出的字符串,'\r'表示不换行回到最左边
            sys.stdout.write(process_bar) #这两句打印字符到终端
            sys.stdout.flush()
            if self.i >= self.max_steps:
                self.close()
    
        def close(self):
            print('')
            print(self.infoDone)
            self.i = 0
    
    if __name__=='__main__':
        max_steps = 100
    
        process_bar = ShowProcess(max_steps, 'OK')
    
        for i in range(max_steps):
            process_bar.show_process()
            time.sleep(0.01)
    

    运行

    按照主函数的方法调用此类即可,显示效果如下:

    [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100.00%
    OK
    
    展开全文
  • 目前使用elementui中的进度条 ``` <el-progress :text-inside="true" :stroke-width="26" :percentage="70"></el-progress> ...
  • 进度条0.bat进度条0.bat进度条0.bat进度条0.bat进度条0.bat进度条0.bat进度条0.bat进度条0.bat进度条0.bat进度条0.bat进度条0.bat进度条0.bat进度条0.bat
  • Python文本进度条

    2019-07-20 15:11:21
    进度条是计算机处理任务或执行软件中常用的增强用户体验的重要手段,它能够实时显示任务或软件的执行进度。 非刷新文本进度条 #非刷新的文本进度条 import time scale = 10 print("------执行开始------") ...

    进度条是计算机处理任务或执行软件中常用的增强用户体验的重要手段,它能够实时显示任务或软件的执行进度。

    1. 非刷新文本进度条
    #非刷新的文本进度条
    import time
    scale = 10
    print("------执行开始------")
    for i in range(scale+1):
        a,b="**"*i,".."*(scale-i)
        c=(i/scale)*100
        print("%{:^3.0f}[{}->{}]".format(c,a,b))
        time.sleep(0.1)
    print("------执行结束------")
    

    关于time.sleep(t),由于程序执行速度远超过人眼的视觉停留时间,直接进行字符输出几乎是瞬间完成,不利于观察。为了模拟任务处理的时间效果,调用Python标准时间库time,使用time.sleep(t)函数将当前程序暂时挂起t s。
    上述程序执行结果:
    在这里插入图片描述

    1. 单行动态刷新
    #单行动态刷新
    import time
    for i in range(101):
        print("\r{:2}%".format(i),end='')
        time.sleep(0.05)
        

    常用的计算机系统中的进度条一般只在一行中改变进度比例,与1.代码相比,区别在于原地输出和动态刷新,其基本思想是将每一次进度输出都固定在一行,并不断地用新生成的字符串覆盖之前的输出,形成进度条不断刷新的动态效果。
    在print()函数中更换参数end的默认值为‘’,即每次使用print()函数输出时不换行。此时,系统输出指针还停留在上一次输出的行尾,在输出的字符串前部增加转义符‘\r’,该转义符把输出指针移动到行首而不换行。
    上述程序在IDLE中输出的结果为:
    在这里插入图片描述
    这里没有获得动态刷新的效果,是因为IDLE本身屏蔽了当行刷新功能。
    下面看命令行输出:
    在这里插入图片描述

    1. 带刷新的文本进度条
    #带刷新的文本进度条
    import time
    scale=50
    print("执行开始".center(scale//2,'-'))
    t=time.clock()
    for i in range(scale+1):
        a='*'*i
        b='.'*(scale-i)
        c=(i/scale)*100
        t-=time.clock()
        print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,-t),end='')
        time.sleep(0.05)
    print("\n"+"执行结束".center(scale//2,'-'))

    上述代码在命令行中的执行结果:
    在这里插入图片描述

    展开全文
  • 彩色进度条,图片进度条,渐变进度条,是进度条更美观
  • 主要介绍了python实现文本进度条 程序进度条 加载进度条 单行刷新功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • WPF弹出进度条例子

    2019-06-29 17:07:45
    页面加载前弹出进度条,这里显示的进度条进度是不标准的,因为某些功能任务没有办法预估精准的处理进度,只是显示大概范围的进度条值。 b、精确数值进度条。点击button弹出进度条,点击button后会查询数据,通过...
  • 进度条进程显示 进度条进程显示 进度条进程显示.rar进度条进程显示.rar进度条进程显示.rar进度条进程显示.rar进度条进程显示.rar进度条进程显示.rar
  • VBA实现进度条的显示

    2010-06-27 07:36:12
    VBA实现进度条的显示 Sub Test() ' The UserForm1_Activate sub calls Main UserForm1.LabelProgress.Width = 0 UserForm1.Show End Sub Private Sub UserForm_activate() Call Main End Sub Sub Main() ' ...
  • 自定义圆形进度条 自定义倒计时进度条

    万次阅读 多人点赞 2016-07-12 15:11:03
    Android自定义View:自定义圆形进度条 自定义倒计时进度条。继承自Textview,可以顺序旋转,可以倒叙旋转,可以设置进度条颜色,填充颜色,可以设置进度条宽度,可以设置填充颜色点击效果,文字点击效果。
  • Android缓冲进度条或加载进度条

    千次阅读 2014-09-12 16:57:59
    缓冲进度条或加载进度条,在加载页面或者视频加载过程中,为了做到更好的UI及App功能体验交互,这些缓冲加载的等待效果是必不可少的; 下面来看一下旋转的动画效果:那么,他们的具体源码在这里:loading_1: ...
  • 分段进度条

    2019-02-14 10:49:57
    SegmentedProgressBar 项目地址:carlosmuvi/SegmentedProgressBar  简介:Instagram like segmented progress bar for Android, written in Kotlin!...分段进度条- Instagram like segmented progress ...
  • Bootstrap 进度条

    2018-03-11 21:34:21
    进度条Bootstrap提供了多种漂亮的进度条,可以使用进度条来表示加载、跳转等正在执行中的状态。进度条本身只是一个静态元素,要让它拥有交互能力,还需要JavaScript代码的配合。基本进度条进度条由嵌套的两层结构...
  • Flutter Progress 1 条形无固定值进度条 //LinearProgressIndicator不具备设置高度的选项,可以使用SizedBox来设置高度与宽度 SizedBox( child: LinearProgressIndicator(), height: 8.0, width: 200...
  • C# 进度条 加载数据真实进度条

    热门讨论 2012-06-05 10:39:06
    加载数据真实进度条,对加载的东西进度条提示
  • Android Studio编程 加了进度条组件之后,运行之后,报错,无法实例化应用 但运行之后,可以正常显示进度条Android Studio编程 加了进度条组件之后,运行之后,报错,无法实例化应用 但运行之后,可以正常显示进度条...
  • 因此,给用户提供一个文件上传进度条,是每一个尊重客户的程序员应做到的最起码的职业操守。 本文中包含的知识点包括:进度条的实现、本地文件读取到字节数组、ajax等。这些知识点都可以在容百川上传的资料中得到。
  • 进度条彩色进度条,百分比 文字 VC++ 进度条彩色进度条,百分比 文字 VC++ 进度条彩色进度条,百分比 文字 VC++
  • C#窗体进度条

    2013-10-04 22:32:49
    C#写的窗体进度条。 点击开始按钮,进度条开始,没有百分比,进度条可以一直循环,如果进度走到结尾就重新开始进度条。 点击停止按钮,进度条停止进行。 两个Label,两个按钮,简单的进度条,可以插入到任意的程序...
  • 就是进度条的js没生效,求助大神们指点;![图片说明](https://img-ask.csdn.net/upload/201711/23/1511420632_852355.png) (进度条的地址:http://www.jq22.com/jquery-info9173,会员等级显示) 引入的js![图片...

空空如也

1 2 3 4 5 ... 20
收藏数 47,723
精华内容 19,089
关键字:

进度条