当前位置: 首页 > news >正文

Element(key):通过控件的 key 属性获取控件对象

在 PySimpleGUI 中,FindElement(key)Element(key) 方法用于通过控件的唯一标识符 key 获取对应的控件对象,以便动态修改其属性(如文本、颜色、可见性等)。以下是具体示例:


示例场景

假设有一个窗口,包含以下控件:

  1. 一个输入框(key='-INPUT-'
  2. 一个按钮(key='-SUBMIT-'
  3. 一个文本标签(key='-OUTPUT-'

用户输入内容后点击按钮,程序将输入框的内容显示在文本标签中,并修改按钮的文本和状态。


完整代码示例

import PySimpleGUI as sg# 定义布局
layout = [[sg.Input(key='-INPUT-', size=(20, 1))],[sg.Button('提交', key='-SUBMIT-'), sg.Button('退出', key='-EXIT-')],[sg.Text('等待输入...', key='-OUTPUT-')]
]# 创建窗口(启用 finalize=True 以支持动态更新)
window = sg.Window('动态控件示例', layout, finalize=True)# 事件循环
while True:event, values = window.read()if event == sg.WIN_CLOSED or event == '-EXIT-':breakelif event == '-SUBMIT-':# 1. 获取输入框的内容user_input = values['-INPUT-']# 2. 通过 key 修改文本标签的内容window['-OUTPUT-'].update(f'你输入了: {user_input}')# 3. 通过 FindElement 修改按钮的文本和禁用状态submit_button = window.FindElement('-SUBMIT-')  # 或 window.Element('-SUBMIT-')submit_button.update('已提交', disabled=True)# 4. 3秒后恢复按钮状态(演示动态更新)sg.popup_auto_close('3秒后恢复按钮状态', auto_close_duration=1)sg.time.wait(3000)  # 等待3秒submit_button.update('提交', disabled=False)window.close()

关键操作解析

  1. 获取控件对象

    • window['-SUBMIT-'](推荐简写方式)
    • window.FindElement('-SUBMIT-')window.Element('-SUBMIT-')(等效方法)
  2. 动态更新控件属性

    • 修改文本update('新文本')
      window['-OUTPUT-'].update('你输入了: ' + values['-INPUT-'])
      
    • 禁用按钮update(disabled=True)
      submit_button.update(disabled=True)
      
    • 修改颜色update(text_color='red')
      window['-OUTPUT-'].update(text_color='red')
      
  3. 链式操作
    可以一次性更新多个属性:

    window['-SUBMIT-'].update('点击我', button_color=('white', 'green'))
    

注意事项

  1. key 的唯一性:每个控件的 key 必须在窗口中唯一,否则会引发错误。
  2. finalize=True:若需在窗口创建后动态修改控件,必须设置 finalize=True
  3. 性能优化:频繁更新控件时(如实时进度条),建议减少不必要的 update() 调用。

其他常用控件操作

操作类型 方法示例
修改输入框内容 window['-INPUT-'].update('默认文本')
隐藏控件 window['-LABEL-'].update(visible=False)
修改下拉选项 window['-COMBO-'].update(values=['选项1', '选项2'], value='选项1')
进度条更新 window['-PROGRESS-'].update(current_count=50)

通过 FindElement(key) 或直接使用 window[key],可以灵活控制窗口中的任何控件,实现高度动态化的交互界面。

http://www.jsqmd.com/news/25506/

相关文章:

  • ubuntu服务器jar包开机60秒后自启
  • 2025年线槽定做厂家权威推荐榜单:pc线槽/线槽管/pvc水槽源头厂家精选
  • CH5xx 蓝牙主机低功耗测试
  • HTML实用技巧分享:那些不为人知但超级好用的小窍门
  • sg.window有哪些属性和方法
  • macOS 安装 x86架构的 kali 虚拟机 - Mr
  • QPSK/BPSK在多径信道下经过LMS均衡器后的误码率曲线分析
  • 2025年常温固化型酚醛环氧涂料生产厂家权威推荐:耐高锰酸钠富辛环氧涂料订制厂家/高性能厚浆环氧涂料涂料厂商/乙烯基防水防腐涂料优质厂家精选
  • 2025年10月中国管理咨询公司评价榜:六强数据化横向对比
  • 2025年10月中国管理咨询公司实力榜:金蓝盟领衔五强横向评测
  • 2025年固定式气体报警器定做厂家权威推荐榜单:可燃气体报警仪/无线气体检测仪/便携气体检测仪源头厂家精选
  • 2025年10月精益管理咨询公司推荐:口碑排行全对比
  • 2025年10月精益管理咨询公司推荐:实力榜排名与场景指南
  • 机器学习之随机森林
  • 2025年10月精益管理咨询公司推荐:实力榜对比与选型指南
  • 制药行业MES系统功能设计
  • 2025年10月生产现场管理咨询公司排名:五强实战能力评价
  • 2025年10月精益降本咨询公司推荐:口碑榜对比指南
  • 2025年福祉座椅厂家权威推荐榜单:轮椅升降机/轮椅升降平台/福祉车源头厂家精选
  • AIGC与智能体平台 Coze Dify N8N公开课
  • 【MCU】【STM32】基于STM32CubeMX+CLion的STM32开发环境 - 实践
  • CRMEB标准版订单删除的业务逻辑与数据完整性保障
  • SM4加密数据
  • 2025年真空带式过滤机批发厂家权威推荐榜单:真空带式脱水机定制厂家/全自动真空带式过滤机厂商/脱硫真空皮带脱水机实力厂家精选
  • 夜莺监控设计思考(四)关于机器那些事儿
  • [大模型学习笔记]-基于transformer架构训练小说续写模型(2)
  • 2025年10月北京工装设计公司排名榜:资质服务与用户口碑全面解析
  • 2025年10月北京工装设计公司推荐榜:五家优质企业综合对比分析
  • ORA-1555 发生在使用 DBLINK 的 SELECT 语句中
  • 108. 将来不再需要程序员,而是需要会驾驭AI的程序员---大胆设想---未来的编程开发---自然语言的逻辑性---设定prompt标准