PySimpleGUI 组合元素

PySimpleGUI 组合元素

Combo元素是一个下拉列表。它最初显示的是一个输入元素,其右侧有一个箭头。当箭头被点击时,列表框向下拉动。因此,你可以在输入文本框中输入文本,或从下拉列表中选择一个项目,这样所选的项目就会显示在输入框中。

Combo元素的功能或多或少与Listbox类似。它是由列表中的字符串项目集合填充的。你也可以指定显示在顶部的默认值。

以下是Combo类的重要属性—-。

序号 属性和描述
1 要显示和选择的 的列表。
2 default_value 作为初始值显示的选择。
3 size width, height.宽度=字符宽度,高度=列表中要显示的条目数。

get()方法返回Combo的当前(现在)值。update()方法修改Combo对象的以下属性

编号:Sr.No. 属性和描述
1 根据以前的选择列表的新列表,改变当前选择的
2 改变选择列表中的 数值
3 set_to_index 从index=0开始,将选择改变为一个特定的选择。
4 readonly 如果是True,使元素成为只读的(用户不能改变任何选择)。

在下面的例子中,我们使用Combo元素的选择改变事件。如果用户在弹出的对话框中按下Yes,那么下拉菜单中的选定元素就会被删除。

import PySimpleGUI as psg
names = []
lst = psg.Combo(names, font=('Arial Bold', 14),  expand_x=True, enable_events=True,  readonly=False, key='-COMBO-')
layout = [[lst,
   psg.Button('Add', ),
   psg.Button('Remove'),
   psg.Button('Exit')],
   [psg.Text("", key='-MSG-',
      font=('Arial Bold', 14),
      justification='center')]
   ]
window = psg.Window('Combobox Example', layout, size=(715, 200))
while True:
   event, values = window.read()
   print(event, values)
   if event in (psg.WIN_CLOSED, 'Exit'):
      break
   if event == 'Add':
      names.append(values['-COMBO-'])
      print(names)
      window['-COMBO-'].update(values=names, value=values['-COMBO-'])
      msg = "A new item added : {}".format(values['-COMBO-'])
      window['-MSG-'].update(msg)
   if event == '-COMBO-':
      ch = psg.popup_yes_no("Do you want to Continue?", title="YesNo")
   if ch == 'Yes':
      val = values['-COMBO-']
      names.remove(val)
   window['-COMBO-'].update(values=names, value=' ')
   msg = "A new item removed : {}".format(val)
   window['-MSG-'].update(msg)
window.close()

当Combo对象发出事件(由其键”-COMBO-“标识)作为下拉菜单中的一个项目被点击。会显示一个Yes-No的弹出窗口,要求确认。如果点击了 “是 “按钮,对应于Combo元素文本框的项目将从列表中删除,该元素将由剩余的项目重新填充。

下面是该窗口的截图。

PySimpleGUI - 组合元素

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程