- PySimpleGUI 教程
- PySimpleGUI - 首页
- PySimpleGUI - 简介
- PySimpleGUI - 环境设置
- PySimpleGUI - Hello World
- PySimpleGUI - 弹出窗口
- PySimpleGUI - 窗口类
- PySimpleGUI - 元素类
- PySimpleGUI - 事件
- PySimpleGUI - 菜单栏
- PySimpleGUI - Matplotlib 集成
- PySimpleGUI - 使用 PIL
- PySimpleGUI - 调试器
- PySimpleGUI - 设置
- PySimpleGUI 有用资源
- PySimpleGUI - 快速指南
- PySimpleGUI - 有用资源
- PySimpleGUI - 讨论
PySimpleGUI - 组合框元素
组合框元素是一个下拉列表。它最初显示一个输入元素,其右侧带有一个箭头。当单击箭头时,列表框会下拉。因此,您可以在输入文本框中输入文本,或从下拉列表中选择一个项目,以便所选项目显示在输入框中。
组合框元素的功能或多或少类似于列表框。它由列表中的一组字符串项目填充。您还可以指定要显示在顶部的默认值。
以下是组合框类的重要属性:
| 序号 | 属性及描述 |
|---|---|
| 1 | values 要显示和选择的列表值。 |
| 2 | default_value 要显示为初始值的选项。 |
| 3 | size 宽度,高度。宽度 = 字符宽度,高度 = 在列表中显示的条目数。 |
get() 方法返回组合框的当前值。update() 方法修改组合框对象的以下属性:
| 序号 | 属性及描述 |
|---|---|
| 1 | value 根据新的列表或先前的选项列表更改当前选中的值 |
| 2 | values 更改选项列表 |
| 3 | set_to_index 将选择更改为特定选项,从索引 = 0 开始 |
| 4 | readonly 如果为 True,则使元素为只读(用户无法更改任何选项)。 |
在以下示例中,我们使用组合框元素的选择更改事件。如果用户在弹出对话框中按“是”进行响应,则会删除下拉列表中的所选元素。
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-”标识)时,表示已单击下拉列表中的某个项目。会显示一个“是/否”弹出窗口,询问确认信息。如果单击“是”按钮,则会从列表中删除与组合框元素文本框对应的项目,并使用剩余的项目重新填充元素。
窗口的屏幕截图如下所示:
pysimplegui_element_class.htm
广告