You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tkinter类中为单选按钮设置默认选中值

问题根源

你的代码逻辑本身没有问题,默认值不生效是Tkinter变量被垃圾回收导致的:你实例化RadioButtons类后没有将实例赋值给变量保存,类实例会在初始化完成后被Python自动回收,实例下绑定的self.jobNum这个IntVar对象也会随之销毁,单选按钮和变量的绑定关系失效,自然无法显示默认选中状态。

修复方案

只需要修改主程序部分的代码,保存RadioButtons类的实例引用即可:

root = Tk()
# 给实例赋值一个变量,避免被垃圾回收
app = RadioButtons(root)
root.mainloop()

修改后运行程序,就能看到Button 1默认处于选中状态,完全符合你的预期。

补充说明

你调试时看到self.jobNum赋值正确,是因为调试阶段类实例还没有被回收,初始化流程走完后没有引用的实例才会被销毁,所以才会出现调试值正确、实际运行无效果的反差,这不是作用域问题。

内容的提问来源于stack exchange,提问作者just_Mango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:09:00