PySimpleGUI - 滑块元素



滑块小部件包含一个水平或垂直的条,可以通过鼠标在其上移动滑块按钮。条的长度指示数值参数的范围(例如字体大小、矩形的长度/宽度等)。手动移动滑块按钮会更改参数的瞬时值,该值可进一步用于程序中。

Slider 类的对象声明如下:

PySimpleGUI.Slider(range, default_value, resolution, orientation, tick_interval)

这些参数特定于滑块控件。这些参数的描述如下:

  • range - 滑块的条表示此范围(最小值,最大值)

  • default_value - 开始时滑块按钮设置的起始值

  • resolution - 移动滑块时值变化的最小量

  • tick_interval - 应在滑块旁边显示可见刻度的频率

  • orientation - “horizontal”(水平)或“vertical”(垂直)

  • disable_number_display - 如果为 True,则滑块元素不会显示数字

其他从 Element 类继承的属性,例如颜色、大小、字体等,可用于进一步自定义 Slider 对象。

Slider 类的 update() 方法有助于刷新 Slider 对象的以下参数:

  • value - 设置当前滑块值

  • range - 为滑块设置新的范围

以下代码生成一个 PysimpleGUI 窗口,显示带有 Hello World 字样的文本标签。有一个水平滑块,其值从 10 变化到 30。其键参数为“-SL-” 。

每当滑块按钮移动时,都会发生“-SL-”事件。滑块按钮的瞬时值用作字体大小,并刷新文本标题。

import PySimpleGUI as psg
layout = [
   [psg.Text('Hello World', enable_events=True,
   key='-TEXT-', font=('Arial Bold', 20),
   size=(50, 2), relief="raised", border_width=5,
   expand_x=True, justification='center')],

   [psg.Slider(range=(10, 30), default_value=12,
   expand_x=True, enable_events=True,
   orientation='horizontal', key='-SL-')]
]
window = psg.Window('Hello', layout, size=(715, 150))
while True:
   event, values = window.read()
   print(event, values)
   if event == psg.WIN_CLOSED or event == 'Exit':
      break
   if event == '-SL-':
      window['-TEXT-'].update(font=('Arial Bold', int(values['-SL-'])))
window.close()

保存并运行以上代码。当您移动滑块按钮时,“Hello World”文本的字体大小会不断变化。输出窗口将如下所示:

Slider Element
pysimplegui_element_class.htm
广告