在PySimpleGUI中,你可以使用sg.Combo
(也称为sg.ComboBox
)来创建一个下拉菜单,并根据用户选择的内容动态更改窗口的内容。你可以通过事件循环来捕获用户的选择,并根据选择更新窗口的布局。
以下是一个示例,展示如何根据sg.Combo
中的选择更改窗口的内容:
import PySimpleGUI as sg
# 定义初始布局
layout = [
[sg.Text('Select an option:')],
[sg.Combo(['Option 1', 'Option 2', 'Option 3'], key='-COMBO-', enable_events=True)],
[sg.Text('Content will change based on selection', key='-CONTENT-')]
]
# 创建窗口
window = sg.Window('Dynamic Window', layout)
# 事件循环
while True:
event, values = window.read()
if event == sg.WIN_CLOSED:
break
# 根据ComboBox的选择更新内容
if event == '-COMBO-':
selected_option = values['-COMBO-']
if selected_option == 'Option 1':
new_content = 'You selected Option 1'
elif selected_option == 'Option 2':
new_content = 'You selected Option 2'
elif selected_option == 'Option 3':
new_content = 'You selected Option 3'
else:
new_content = 'Content will change based on selection'
# 更新窗口中的内容
window['-CONTENT-'].update(new_content)
# 关闭窗口
window.close()
sg.Text
创建一个文本标签。sg.Combo
创建一个下拉菜单,并设置key
为-COMBO-
,同时启用事件enable_events=True
。sg.Text
创建一个用于显示动态内容的文本标签,并设置key
为-CONTENT-
。sg.Window
创建窗口,并传入初始布局。window.read()
读取事件和输入值。-COMBO-
事件(即用户选择了下拉菜单中的某个选项),根据选择更新内容。window['-CONTENT-'].update(new_content)
更新窗口中的内容。window.close()
关闭窗口。领取专属 10元无门槛券
手把手带您无忧上云