精华内容
下载资源
问答
  • 进度条

    千次阅读 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()

    运行效果:

    展开全文
  • 进度条 进度条 进度条 进度条进度条 进度条 进度条 进度条进度条 进度条 进度条 进度条进度条 进度条 进度条 进度条进度条 进度条 进度条 进度条进度条 进度条 进度条 进度条进度条 进度条 进度条 进度条进度条 ...
  • 圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html
  • 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
    
    展开全文
  • php进度条php进度条php进度条php进度条php进度条php进度条php进度条php进度条php进度条php进度条php进度条php进度条php进度条
  • 进度条有关进度条有关进度条有关进度条有关
  • Signalr进度条

    2018-04-06 18:50:50
    Signalr进度条Signalr进度条Signalr进度条Signalr进度条Signalr进度条Signalr进度条Signalr进度条Signalr进度条
  • 主要介绍了python实现文本进度条 程序进度条 加载进度条 单行刷新功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • ext 简单 进度条进度条
  • gif 进度条; winform 进度条,亮的动态加载进度条,可以放到pictrueBox,展示加载进图的图片;
  • 进度条demo

    2017-10-11 10:29:09
    进度条的样式demo进度条的样式demo进度条的样式demo进度条的样式demo进度条的样式demo进度条的样式demo进度条的样式demo进度条的样式demo进度条的样式demo进度条的样式demo进度条的样式demo进度条的样式demo进度条的...
  • 自定义android进度条,带有进度指示,项目详情:http://blog.csdn.net/xiaanming/article/details/10298163
  • 进度条2进度条2进度条2进度条2进度条2
  • Android跑马进度条,普通进度条,自定义进度条
  • 彩色进度条,图片进度条,渐变进度条,是进度条更美观
  • 渐变进度条 美化进度条进度条更美观 看起来更舒服
  • Flutter Progress 1 条形无固定值进度条 //LinearProgressIndicator不具备设置高度的选项,可以使用SizedBox来设置高度与宽度 SizedBox( child: LinearProgressIndicator(), height: 8.0, width: 200...

    更多文章请查看 flutter从入门 到精通

    Flutter Progress

    1 条形无固定值进度条

    在这里插入图片描述

            //LinearProgressIndicator不具备设置高度的选项,可以使用SizedBox来设置高度与宽度
            SizedBox(
              child: LinearProgressIndicator(),
              height: 8.0,
              width: 200,
            ),
    

    2 圆形无固定值进度条

    在这里插入图片描述

            SizedBox(
              child: CircularProgressIndicator(),
              height: 44.0,
              width: 44.0,
            ),
    

    3 条形固定值进度条

    在这里插入图片描述

            new SizedBox(
              //限制进度条的高度
              height: 6.0,
              //限制进度条的宽度
              width: 200,
              child: new LinearProgressIndicator(
                  //0~1的浮点数,用来表示进度多少;如果 value 为 null 或空,则显示一个动画,否则显示一个定值
                  value: 0.3,
                  //背景颜色
                  backgroundColor: Colors.yellow,
                  //进度颜色
                  valueColor: new AlwaysStoppedAnimation<Color>(Colors.red)),
            ),
    

    4 圆形固定值进度条

    在这里插入图片描述

            //CircularProgressIndicator不具备设置高度的选项,可以使用SizedBox来设置高度与宽度
            new SizedBox(
              //限制进度条的高度
              height: 40.0,
              //限制进度条的宽度
              width: 40,
              child: new CircularProgressIndicator(
                //0~1的浮点数,用来表示进度多少;如果 value 为 null 或空,则显示一个动画,否则显示一个定值
                  value: 0.3,
                  //背景颜色
                  backgroundColor: Colors.yellow,
                  //进度颜色
                  valueColor: new AlwaysStoppedAnimation<Color>(Colors.red)),
            ),
    

    本公众号会首发系列专题文章,付费的视频课程会在公众号中免费刊登,在你上下班的路上或者是睡觉前的一刻,本公众号都是你浏览知识干货的一个小选择,收藏不如行动,在那一刻,公众号会提示你该学习了。

    在这里插入图片描述

    展开全文
  • python小功能 模拟下载进度条打印

    万次阅读 2021-01-28 12:33:28
    python小功能 模拟下载进度条打印 #!/usr/bin/env python3 # -*- coding:utf-8 -*- import time def progress(arg): if arg > 1: arg = 1 # 设计进度条和百分比 image = int(50 * arg) * '>' percent...

    python小功能 模拟下载进度条打印

    #!/usr/bin/env python3
    # -*- coding:utf-8 -*-
    
    import time
    
    
    def progress(arg):
    	if arg > 1:
    		arg = 1
    	# 设计进度条和百分比
    	image = int(50 * arg) * '>'
    	percent = str(int(arg * 100)) + '%'
    	# 打印进度条
    	print('\r[%-50s] %s' % (image, percent), end='')
    	# 下载完成判断并提示
    	if arg == 1:
    		print('\nDownload completely!')
    
    
    recv_size = 0    # 下载文件大小
    total_size = 666666  # 文件总大小
    
    while recv_size < total_size:
    	# 模拟下载速度
    	time.sleep(0.01)
    	recv_size += 2048
    	# 计算比例
    	ratio = recv_size / total_size
    	progress(ratio)
    
    

    运行结果

    [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 100%
    Download completely!
    
    展开全文
  • 使用ProgressBar实现进度条,设置进度条显示风格。以及自定义进度条样式
  • 进度条 javascript

    2011-11-15 18:09:40
    进度条进度条进度条进度条进度条进度条进度条
  • DataGridView进度条 DataGridView进度条 DataGridView进度条 DataGridView进度条 DataGridView进度条
  • 文件上传有进度条进度条进度条进度条进度条
  • MFC自绘进度条——可以改变进度条颜色,背景色,设置百分比。
  • QML自定义进度条

    2019-08-30 18:56:53
    使用Quick2进行自定义进度条 动画控制进度条移动 封装自定义进度条
  • labview进度条

    2018-07-13 12:44:19
    进度条,请勿在未经授权的情况下上传任何涉及著作权侵权的资源,除非该资源完全由您个人创作
  • ajax进度条,ajax进度条

    2009-12-15 10:01:48
    ajax进度条ajax进度条ajax进度条ajax进度条
  • Flutter Slider 进度条

    2019-10-21 10:07:55
    Flutter Slider 进度条
  • Android 进度条 带小圆圈 的倒计时 圆形 进度条
  • Bootstrap 进度条

    2018-03-11 21:34:21
    进度条Bootstrap提供了多种漂亮的进度条,可以使用进度条来表示加载、跳转等正在执行中的状态。进度条本身只是一个静态元素,要让它拥有交互能力,还需要JavaScript代码的配合。基本进度条进度条由嵌套的两层结构...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,856
精华内容 24,342
关键字:

进度条