Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 所有检查按钮都设置为相同的tkinter_Python_Tkinter - Fatal编程技术网

Python 所有检查按钮都设置为相同的tkinter

Python 所有检查按钮都设置为相同的tkinter,python,tkinter,Python,Tkinter,在我的代码中,我试图为一周中的每一天创建一个checkbutton,但当我单击一个时,它们都被选中。这是我的密码: #reminderRepeat is a list of 7 integers sun = tk.Checkbutton(frame, text = "Sun", bd = 0, variable = reminderRepeat[0]) sun.pack() mon = tk.Checkbutton(frame, text = "Mon"

在我的代码中,我试图为一周中的每一天创建一个checkbutton,但当我单击一个时,它们都被选中。这是我的密码:

#reminderRepeat is a list of 7 integers
sun = tk.Checkbutton(frame, text = "Sun", bd = 0, variable = reminderRepeat[0])
sun.pack()

mon = tk.Checkbutton(frame, text = "Mon", bd = 0, variable = reminderRepeat[1])
mon.pack()

tue = tk.Checkbutton(frame, text = "Tues", bd = 0, variable = reminderRepeat[2])
tue.pack()

wed = tk.Checkbutton(frame, text = "Wed", bd = 0, variable = reminderRepeat[3])
wed.pack()
thu = tk.Checkbutton(frame, text = "Thurs", bd = 0, variable = reminderRepeat[4])
thu.pack()

fri = tk.Checkbutton(frame, text = "Fri", bd = 0, variable = reminderRepeat[5])
fri.pack()

sat = tk.Checkbutton(frame, text = "Sat", bd = 0, variable = reminderRepeat[6])
sat.pack()
它们在从按钮调用的方法中调用

解决方案:

问题是我已经将reminderRepeat设置为整数列表,但checkbuttons的变量应该是tkinter自己的数据类型IntVar

对于任何想知道它以前是这样的人:
rementerrepeat=[0,0,0,0,0,0,0]
现在我将其更改为:
rementerrepeat=[tk.Intvar(),tk.Intvar(),tk.Intvar(),tk.Intvar(),tk.Intvar(),tk.Intvar()]//在tkinter循环中调用

#reminderRepeat是由7个整数组成的列表


变量
选项必须指定一种特殊的tkinter变量类型。

如何初始化
提醒重复执行
?是的,这就是问题所在,我必须将其更改为IntVar()的列表。谢谢