如何在PySimpleGUI中以编程方式勾选复选框?
PySimpleGUI编程式勾选复选框的正确方法
你遇到的TypeError是因为用错了Checkbox组件update方法的参数,正确的参数是value,而非你尝试的checked或default。
正确代码实现
将你代码中的pass替换为以下代码即可实现勾选:
window["-CHECKBOX-"].update(value=True)
修改后的完整可运行代码:
import pySimpleGUI as sg layout = [ [sg.Button("Check Checkbox", key="-CHECK-", enable_events=True)], [sg.Checkbox("Check me!", key="-CHECKBOX-", enable_events=True)] ] window = sg.Window("Application", margins=(40,40), layout=layout, finalize=True, resizable=True) while True: event, values = window.read() if event == "-CHECK-": window["-CHECKBOX-"].update(value=True) if event == sg.WIN_CLOSED: break window.close()
借助底层Tkinter实现(备选方案)
如果需要通过Tkinter原生方法操作,可获取组件的底层Widget对象后调用对应方法:
window["-CHECKBOX-"].Widget.select() # 勾选复选框 # window["-CHECKBOX-"].Widget.deselect() # 取消勾选复选框
内容的提问来源于stack exchange,提问作者Fighter178
相关产品推荐
相关产品推荐

