PySimpleGUI - 进度条元素



有时,某个计算机操作可能会非常耗时,需要很长时间才能完成。因此,用户可能会失去耐心。因此,让他知道应用程序的进度状态非常重要。ProgressBar 元素对到目前为止已完成进程量的视觉指示。这是一个垂直或水平的有色条,通过对比色逐渐着色以显示进程正在进行中。

除了从 Element 类继承的那些常见参数之外,ProgressBar 构造函数还具有以下参数 -

PySimpleGUI.ProgressBar(max_value, orientation, size, bar_color)

max_value 参数是必需的,用于校准条的宽度或高度。Orientation 为水平或垂直。size 为(字符长,像素宽)如果为水平,如果是垂直则为(字符高,像素宽)。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()

它将生成以下输出窗口 -

Progress Bar
pysimplegui_element_class.htm
广告