PySimpleGUI - ProgressBar 进度条元素
有时,计算机操作可能非常冗长,需要花费大量时间才能完成。 因此,用户可能会不耐烦。 因此,重要的是让他知道应用程序的进度状态。 ProgressBar 元素直观地指示到目前为止已完成的进程量。 它是一个垂直或水平的彩色条,由对比色渐增着色,以表明该过程正在进行中。
ProgressBar 的构造函数除了继承自 Element 类的那些常用参数外,还有以下参数 −
PySimpleGUI.ProgressBar(max_value, orientation, size, bar_color)
需要max_value参数来校准条的宽度或高度。 Orientation 可以是水平的也可以是垂直的。 size 是(chars long, pixels wide))如果是水平的,如果是垂直的则是(chars high, pixels wide)。 bar_color 是构成进度条的两种颜色的元组。
update() 方法修改 ProgressBar 对象的以下一个或多个属性 −
current_count − 设置当前值
max − 设置最大值
bar_color − 构成进度条的两种颜色。 第一种颜色显示进度。 第二种颜色是背景。
下面给出了 ProgressBar 控件如何使用的简单演示。 窗口的布局由一个进度条和一个测试按钮组成。 单击时,将开始一个从 1 到 100 的 for 循环
import PySimpleGUI as psg import time layout = [ [psg.ProgressBar(100, orientation='h', expand_x=True, size=(20, 20), key='-PBAR-'), psg.Button('Test')], [psg.Text('', key='-OUT-', enable_events=True, font=('Arial Bold', 16), justification='center', expand_x=True)] ] window = psg.Window('Progress Bar', layout, size=(715, 150)) while True: event, values = window.read() print(event, values) if event == 'Test': window['Test'].update(disabled=True) for i in range(100): window['-PBAR-'].update(current_count=i + 1) window['-OUT-'].update(str(i + 1)) time.sleep(1) window['Test'].update(disabled=False) if event == 'Cancel': window['-PBAR-'].update(max=100) if event == psg.WIN_CLOSED or event == 'Exit': break window.close()
它将产生以下输出窗口 −