当我 运行 代码时,我所有的复选框都得到 selected.How 我要停止吗?

When i run the code, all my checkboxes get selected.How do i make this stop?

我制作了一个取消按钮,它删除了我手动选中的框,在我制作它之后,我将命令设置为您可以在我的代码中看到的功能。取消按钮有效,但在我出于某种原因实现它之后,当我 运行 代码时,我的所有框都会自动选中。

Cancel1=tkinter.StringVar()
Cancel2=tkinter.StringVar()
Cancel3=tkinter.StringVar()
Cancel4=tkinter.StringVar()
Cancel5=tkinter.StringVar()
Cancel6=tkinter.StringVar()
Cancel7=tkinter.StringVar()
Cancel8=tkinter.StringVar()


def cancel() :
    Cancel1.set(0)
    Cancel2.set(0)
    Cancel3.set(0)
    Cancel4.set(0)
    Cancel5.set(0)
    Cancel6.set(0)
    Cancel7.set(0)
    Cancel8.set(0)


window.title("Menu")

c1 = tkinter.Checkbutton(window,text="Pizza("+str(cijenaPizza)+ ")",onvalue=1,offvalue=0,variable=Cancel1)
c1.grid(row=0,column=1,sticky=W)```

这里有两种选择。您可以使用 IntVar() 作为 variable(默认设置为 0,这也是您的 offvalue):

import tkinter as tk
   

c1 = tk.Checkbutton(
    window,text="Pizza("+str(cijenaPizza)+ ")",
    onvalue=1,
    offvalue=0,
    variable=tk.IntVar()
)

或确保将 Cancel1 设置为 offvalue:

import tkinter as tk
   
Cancel1=tk.StringVar()
Cancel1.set('0')

c1 = tk.Checkbutton(
    window,text="Pizza("+str(cijenaPizza)+ ")",
    onvalue=1,
    offvalue=0,
    variable=Cancel1
)