PySimpleGui中ButtonMenu的下拉选项能否更新?
你遇到的错误是因为ButtonMenu的update()方法确实不支持menu_def参数,官方设计里更新菜单定义要用专门的方法。
直接调用set_menu_def()方法就能修改下拉选项,示例代码如下:
# 定义新的菜单结构 new_menu_def = [ ['New Boss 1', ['Subitem 1', 'Subitem 2']], ['New Boss 2'] ] # 更新ButtonMenu的下拉菜单选项 window['-SLAYER-'].set_menu_def(new_menu_def)
如果需要同时更新按钮上显示的文本,可以搭配update()方法使用:
window['-SLAYER-'].update('New Bosses') # 更新按钮显示文本 window['-SLAYER-'].set_menu_def(new_menu_def) # 更新下拉菜单内容
注意:set_menu_def()接受的参数格式必须和初始化时的menu_def完全一致,确保新菜单结构符合PySimpleGui的嵌套列表规范。
内容的提问来源于stack exchange,提问作者ChocolateVanille
相关产品推荐
相关产品推荐

