Python 选中另一个复选框时取消选中该复选框

Python 选中另一个复选框时取消选中该复选框,python,tkinter,Python,Tkinter,所以问题在于if函数无法工作。它完全忽略所有值更改,并且根本不更改任何值。这个代码有什么问题 import tkinter as tk root = tk.Tk() CheckVar4 = tk.IntVar() CheckVar5 = tk.IntVar() C4 = tk.Checkbutton(root, text = "Medium terms", variable = CheckVar4, \ onvalue = 1, offvalue = 0,

所以问题在于
if
函数无法工作。它完全忽略所有值更改,并且根本不更改任何值。这个代码有什么问题

import tkinter as tk
root = tk.Tk()

CheckVar4 = tk.IntVar()
CheckVar5 = tk.IntVar()

C4 = tk.Checkbutton(root, text = "Medium terms", variable = CheckVar4, \
                 onvalue = 1, offvalue = 0, height=1, \
                 width = 12)

C5 = tk.Checkbutton(root, text = "Hard terms", variable = CheckVar5, \
                 onvalue = 1, offvalue = 0, height=1, \
                 width = 8)

if CheckVar4.get() == 1:
    CheckVar5.set(0)

if CheckVar5.get() == 1:
    CheckVar4.set(0)

root.mainloop()

也许你想用单选按钮代替?示例如下:

将tkinter作为tk导入
root=tk.tk()
v=tk.IntVar()
tk.标签(根,
text=“”选择一个
编程语言:“”,
justify=tk.LEFT,
padx=20.pack()
tk.单选按钮(根,
text=“Python”,
padx=20,
变量=v,
值=1)。包装(锚定=tk.W)
tk.单选按钮(根,
text=“Perl”,
padx=20,
变量=v,
值=2)。包装(锚定=tk.W)
root.mainloop()

ifs只运行一次。您需要将操作注册到在单击时触发(并取消设置另一个)的复选框中。是否要使用单选按钮?许多选项之一应使用单选按钮,而不是复选按钮。我知道这并不能回答你的问题,但单选按钮内置了这种只能选择一个的行为。