首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何根据在sg.Combo中选择的内容更改PySimleGui中的窗口?

在PySimpleGUI中,你可以使用sg.Combo(也称为sg.ComboBox)来创建一个下拉菜单,并根据用户选择的内容动态更改窗口的内容。你可以通过事件循环来捕获用户的选择,并根据选择更新窗口的布局。

以下是一个示例,展示如何根据sg.Combo中的选择更改窗口的内容:

示例代码

代码语言:javascript
复制
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()

解释

  1. 定义初始布局
    • 使用sg.Text创建一个文本标签。
    • 使用sg.Combo创建一个下拉菜单,并设置key-COMBO-,同时启用事件enable_events=True
    • 使用sg.Text创建一个用于显示动态内容的文本标签,并设置key-CONTENT-
  2. 创建窗口
    • 使用sg.Window创建窗口,并传入初始布局。
  3. 事件循环
    • 使用window.read()读取事件和输入值。
    • 如果窗口关闭,退出循环。
    • 如果捕获到-COMBO-事件(即用户选择了下拉菜单中的某个选项),根据选择更新内容。
    • 使用window['-CONTENT-'].update(new_content)更新窗口中的内容。
  4. 关闭窗口
    • 使用window.close()关闭窗口。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2分18秒

IDEA中如何根据sql字段快速的创建实体类

1分51秒

如何将表格中的内容发送至企业微信中

14分25秒

062_第六章_Flink中的时间和窗口(二)_水位线(三)_水位线在代码中的生成(一)

8分48秒

063_第六章_Flink中的时间和窗口(二)_水位线(三)_水位线在代码中的生成(二)

1时41分

在「攻与防」中洞察如何建设切实可靠的安全保障

59分41秒

如何实现产品的“出厂安全”——DevSecOps在云开发运维中的落地实践

48秒

DC电源模块在传输过程中如何减少能量的损失

-

如何看待当前AI技术在智能交通市场中的应用现状丨华为安平业务部

56秒

PS小白教程:如何在Photoshop中给灰色图片上色

36秒

PS使用教程:如何在Mac版Photoshop中画出对称的图案?

1分28秒

PS小白教程:如何在Photoshop中制作出镂空文字?

34秒

PS使用教程:如何在Photoshop中合并可见图层?

领券