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

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

    运行效果:

    展开全文
  • 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
    
    展开全文
  • 主要介绍了python实现文本进度条 程序进度条 加载进度条 单行刷新功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 自定义android进度条,带有进度指示,项目详情:http://blog.csdn.net/xiaanming/article/details/10298163
  • 彩色进度条,图片进度条,渐变进度条,是进度条更美观
  • 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)),
            ),
    

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

    在这里插入图片描述

    展开全文
  • MFC自绘进度条——可以改变进度条颜色,背景色,设置百分比。
  • Flutter Slider 进度条

    2019-10-21 10:07:55
    Flutter Slider 进度条
  • Bootstrap 进度条

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

    进度条

    Bootstrap提供了多种漂亮的进度条,可以使用进度条来表示加载、跳转等正在执行中的状态。进度条本身只是一个静态元素,要让它拥有交互能力,还需要JavaScript代码的配合。

    基本进度条

    进度条由嵌套的两层结构定义:外层结构用于创建进度条的容器,使用 .progress 类定义;内层结构用于创建进度条,使用 .bar 类定义,并通过CSS的 width 属性值来设置进度的百分比。如:

    1. <div class="progress">
    2.   <div class="bar" style="width: 60%;"></div>
    3. </div>

    默认情况下,进度条容器的背景为浅灰色,进度条本身为蓝色,并带有垂直渐变。效果如图 4‑56所示:

    Bootstrap进度条组件图4-56 Bootstrap进度条组件

    关于作者

    歪脖先生,十五年以上软件开发经验,酷爱Web开发,精通 HTML、CSS、JavaScript、jQuery、JSON、Python、Less、Bootstrap等,著有《HTML宝典》、《揭秘CSS》、《Less简明教程》、《JSON教程》、《Bootstrap2用户指南》、《Bootstrap3实用教程》,并全部在 GitHub 上开源。

    展开全文
  • win8 小点进度条,自定义圆形进度条,wpf Progressbar进度条样式更改
  • C#Winform圆形进度条/环形进度条 源码下载链接 https://download.csdn.net/download/yangchen_langzi/12026790 开发环境 系统 win 7 环境 .net4.0 工具 vs 2017 示例 暂时没时间整理代码,以后有时间贴出来 ...
  • 自定义圆形进度条 自定义倒计时进度条

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

    2020-11-23 09:01:39
    uniapp 进度条uniapp使用:style写一个简单进度条 uniapp使用:style写一个简单进度条 html代码 v-bind:style 简写形式:style <!-- 第一层进度条的背景色 --> <view class="strip"> <!-- 第二...
  • ProgressBar长方形进度条,item背景当进度条
  • 这个是进度条的使用方法,包括两种,一种是水平的进度条,另一种是默认的圆圈的进度条.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • C# 进度条 加载数据真实进度条

    热门讨论 2012-06-05 10:39:06
    加载数据真实进度条,对加载的东西进度条提示
  • layui进度条

    千次阅读 2019-10-02 13:15:24
    进度条 相关样式 layui-progress 代表一个进度条 |-- layui-progress-bar 代表进度条里面的进度 layui-progress-big 变粗了 相关属性 lay-percent 代表进度值 lay-showpercent="true" 是否显示进度值 ...
  • jQMeter 进度条

    2019-08-02 15:01:53
    jQMeter是一款简单实用的轻量级进度条jQuery插件,它可以显示为水平或垂直进度条进度条加载时带有动画特效,你只需要简单的传入一些参数到jQMeter对象的构造函数中就可以完成你想要的进度条效果。 该进度条插件的...
  • 分段进度条

    2019-02-14 10:49:57
    SegmentedProgressBar 项目地址:carlosmuvi/SegmentedProgressBar  简介:Instagram like segmented progress bar for Android, written in Kotlin!...分段进度条- Instagram like segmented 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
  • 自定义分段进度条

    2018-11-28 11:30:35
    自定义分段进度条:1.可以根据权重设置不同段的大小;2.可以设置进度到某段时进度条显示的颜色;
  • 进度条彩色进度条,百分比 文字 VC++ 进度条彩色进度条,百分比 文字 VC++ 进度条彩色进度条,百分比 文字 VC++
  • Android 圆形进度条,矩形进度条以及下载进度条的实现,实现过程简单明了,扩展性强,有兴趣的朋友值得一观。
  • 缓冲进度条或加载进度条

    千次阅读 2014-09-09 10:48:28
    缓冲进度条或加载动画进度条
  • 主要给大家介绍了关于Android实现条纹进度条的方法,主要是通过调整view宽度仿进度条,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起看看吧
  • java实现进度条

    2016-08-30 18:27:13
    java实现进度条
  • 进度条进程显示 进度条进程显示 进度条进程显示.rar进度条进程显示.rar进度条进程显示.rar进度条进程显示.rar进度条进程显示.rar进度条进程显示.rar
  • 自定义环形进度条

    2016-03-09 18:42:54
    自定义环形进度条
  • Progress进度条

    2020-09-03 16:27:11
    Progress进度条 用于展示操作进度,告知用户当前状态和预期。 线形进度条 Progress组件设置 percentage属性即可,表示进度调对应的百分比,必填,必须在0~100。通过format属性指定进度调文字内容。 <el-...

空空如也

1 2 3 4 5 ... 20
收藏数 50,722
精华内容 20,288
关键字:

进度条