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

如何让Tkinter菜单栏中的Checkbutton在窗口打开时默认选中?

解决Tkinter菜单栏Checkbutton默认选中的问题

你的代码里有两处关键问题,调整后就能实现菜单栏复选按钮默认选中:

  1. 实例化BooleanVar对象:原代码中var = tk.BooleanVar仅引用了类,没有创建实际的变量实例,必须添加括号()生成对象。
  2. 设置变量初始值:通过var.set()方法给变量设置与onvalue对应的值,你设置了onvalue=1,因此用var.set(1)就能让复选按钮默认处于选中状态。

修正后的完整代码:

import tkinter as tk

def func():
    # some code here
    print("复选框当前状态:", var.get())  # 可添加此句查看状态变化

# 实例化BooleanVar并设置初始值为1(对应onvalue)
var = tk.BooleanVar()
var.set(1)

win = tk.Tk()
menubar = tk.Menu(win)
optmenu = tk.Menu(menubar, tearoff=0)
menubar.add_cascade(label='Options', menu=optmenu)
optmenu.add_checkbutton(label='xyz', variable=var, onvalue=1, offvalue=0, command=func)

win.config(menu=menubar)
win.mainloop()

补充说明:如果把onvalue和offvalue改为布尔值True和False,那初始值设置var.set(True)同样生效,两种变量类型的写法都可根据习惯选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 18:50:27