PySimpleGUI如何获取OptionMenu元素的当前选中值?
两种比触发Read更简洁的实现方式如下:
方案1(官方推荐,无冗余)
直接调用OptionMenu元素内置的CurrentValue属性,不需要额外触发窗口读取操作:
print(window['-MARKETDATA-'].CurrentValue)
方案2(操作底层Tkinter对象)
如果你习惯用get()方法的写法,可以访问底层绑定的Tkinter字符串变量调用该方法:
print(window['-MARKETDATA-'].TKStringVar.get())
补充说明
- 你之前尝试的
window['-MARKETDATA-'].get()报错,是因为PySimpleGUI的OptionMenu类本身没有封装独立的get方法,该方法属于底层Tkinter控件的方法,没有向上暴露 - 你当前在用的
window.Read(timeout=1)写法虽然能拿到值,但会额外触发一次窗口事件读取,在不需要处理事件的场景下属于冗余操作,不推荐
内容的提问来源于stack exchange,提问作者Ray Johnson
相关产品推荐
相关产品推荐

