PySimpleGUI 进度条元素
有时,一个计算机操作可能非常冗长,需要很多时间才能完成。因此,用户可能会感到不耐烦。因此,让他知道应用程序的进度状态是很重要的。进度条(ProgressBar)元素提供了一个到目前为止完成的进程量的视觉指示。它是一个垂直或水平的彩色条,通过对比的颜色来逐步显示进程正在进行中。
进度条构造函数有以下参数,除了那些从元素类继承的通用参数外—
PySimpleGUI.ProgressBar(max_value, orientation, size, bar_color)
max_value 参数需要用来校准条形图的宽度或高度。 方向 是水平或垂直。如果是水平方向, 尺寸 为(字符长,像素宽);如果是垂直方向,尺寸为(字符高,像素宽)。 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()
它将产生以下 输出 窗口 –