Python progressbar源码修改(支持设置进度条样式)
来源:互联网 发布:vb opc 西门子 编辑:程序博客网 时间:2024/05/22 12:17
Python progressbar源码修改(支持设置进度条样式)
By qianghaohao(CodeNutter)
默认progressbar进度条是#字符,用起来太单调,如果要设置更加美观的进度条,需要修改下源码,
修改了progressbar目录的__init__.py的ProgressBar类的构造函数,给构造函数添加了一个设置进度
条样式的参数(bar_style),在构造函数传递进度条样式参数bar_style,默认为bar_style='BST',代表
#样式,本来想改成可以通过参数直接传递进度条的样式字符,但是如果这样会存在编码问题,对初学
者使用不方便,因此通过传递各个样式的编号(BSTx)来选择不同的样式。
在此添加了9种样式可供选择:
修改后源码(progress目录__init__.py文件ProgressBar类的__init__(...)构造函数):
修改后源码已上传到:http://download.csdn.net/detail/qianghaohao/9605256
# ------------------Modified By qianghaohao-------------------------- # _DEFAULT_WIDGETS = [Percentage(), ' ', Bar()] # Modified by qianghaohao # Date: 2016-8-16 # # ------------------------------------------------------------------- def __init__(self, maxval=None, widgets=None, term_width=None, poll=1, left_justify=True, fd=sys.stderr, bar_style = 'BST1'): '''Initializes a progress bar with sane defaults''' # Don't share a reference with any other progress bars # ------------------Modified By qianghaohao-------------------------- # Don't share a reference with any other progress bars # # Modified by qianghaohao # Date: 2016-8-16 # --------------------------------------- bar_style ---------------------------------------- # BST1 BST2 BST3 BST4 BST5 BST6 BST7 BST8 BST9 # bar_style = (u'#', u'▏', u'▎', u'▍', u'▌', u'▋', u'▊', u'▉', u'█') # ------------------------------------------------------------------------------------------ bst = { 'BST1':u'#', 'BST2':u'▏', 'BST3':u'▎', 'BST4':u'▍', 'BST5':u'▌', 'BST6':u'▋', 'BST7':u'▊', 'BST8':u'▉', 'BST9':u'█' } default_widgets = [Percentage(), ' '] default_widgets.append(Bar(bst[bar_style])) # ------------------------------------------------------------------- if widgets is None: widgets = list(default_widgets) self.maxval = maxval self.widgets = widgets self.fd = fd self.left_justify = left_justify self.signal_set = False if term_width is not None: self.term_width = term_width else: try: self._handle_resize() signal.signal(signal.SIGWINCH, self._handle_resize) self.signal_set = True except (SystemExit, KeyboardInterrupt): raise except: self.term_width = self._env_size() self.__iterable = None self._update_widgets() self.currval = 0 self.finished = False self.last_update_time = None self.poll = poll self.seconds_elapsed = 0 self.start_time = None self.update_interval = 1使用方法:progressbar的使用还是和原先的一样,只不过在使用时可以给ProgressBar传递进度条样式参数,
默认还是‘#’样式,如果需要更加美观的进度条,则传递bar_style参数,赋值为对应的编号(BSTx)即可。使用时
将progress目录放到工程目录即可直接使用。
使用示例代码:
import sys, timefrom progressbar import *total = 10progress1 = ProgressBar(bar_style='BST1')progress2 = ProgressBar(bar_style='BST2')progress3 = ProgressBar(bar_style='BST3')progress4 = ProgressBar(bar_style='BST4')progress5 = ProgressBar(bar_style='BST5')progress6 = ProgressBar(bar_style='BST6')progress7 = ProgressBar(bar_style='BST7')progress8 = ProgressBar(bar_style='BST8')progress9 = ProgressBar(bar_style='BST9')for i in progress1(range(total)): time.sleep(0.1)print '\n'for i in progress2(range(total)): time.sleep(0.1)print '\n'for i in progress3(range(total)): time.sleep(0.1)print '\n'for i in progress4(range(total)): time.sleep(0.1)print '\n'for i in progress5(range(total)): time.sleep(0.1)print '\n'for i in progress6(range(total)): time.sleep(0.1)print '\n'for i in progress7(range(total)): time.sleep(0.1)print '\n'for i in progress8(range(total)): time.sleep(0.1)print '\n'for i in progress9(range(total)): time.sleep(0.1)运行效果:
修改后源码地址:
http://download.csdn.net/detail/qianghaohao/9605256
0 0
- Python progressbar源码修改(支持设置进度条样式)
- 代码动态设置ProgressBar进度条样式
- ProgressBar进度条样式小记
- 进度条ProgressBar样式设计
- 自定义进度条样式progressBar
- android自定义ProgressBar 修改进度条样式 出现setProgress无效问题
- 修改进度条ProgressBar颜色
- 修改进度条ProgressBar颜色
- ProgressBar 进度条颜色设置
- 设置progressbar进度条颜色
- 自定义 ProgressBar 进度条 自定义样式
- 自定义 ProgressBar 进度条 自定义样式
- ProgressBar样式设置
- 修改ProgressBar的进度条颜色
- 横向ProgressBar进度条的设置
- Flex里自定义进度条ProgressBar样式皮肤
- 自定义Progressbar(更改进度条样式)
- 33_修改ProgressBar样式
- Android 实现登录界面 记住账号密码等功能
- 小球(DROP)
- 7.6 鼠标的滚轮
- Java并发编程:synchronized
- Java并发编程:Lock
- Python progressbar源码修改(支持设置进度条样式)
- 第 8 章 计时器
- 8.1 计时器的基本知识
- nutch源码分析---1
- 二叉树遍历(flist) 中序和按层
- 8.2 使用计时器的三种方法
- 8.3 使用计时器作为时钟
- 类的构造函数,析构函数,动态生成对象
- 8.4 在状态报告上使用计时器