我在辅助tkinter窗口(不是root)中有一个复选框,即使选中该窗口也仅返回IntVar 0。在主窗口中这不是问题。
我的代码在主根窗口中运行,选中后,复选框返回1而不是0,但是在单独的tkinter窗口中使用完全相同的代码时,它仅返回0。我在最后什么都没有添加window2.mainloop()。
button_list = [] #create list to hold checkbox values
def done_press(): #what to do when done button pressed
for x in range(len(data)):
print(button_list[x].get())
play = Tk() #second window called play
row=[1,2,3,4,5,6,7,8,9]
Label(play, text='Whats on').grid(row=0, column=0, padx=30, pady=20, columnspan=3)
for box in range(len(data)): #create checkboxes
button_list.append(IntVar()) #append checkbox list for each selected
button = Checkbutton(play, text=data[box], variable=button_list,)
button.grid(column=0,row=row[box], pady=5, padx=30)
done = Button(play, text='Done', command=done_press)
done.grid(column=0,row=11, columnspan=2)
play.mainloop()
我目前正在将结果打印到控制台,该控制台的每个复选框仅显示0,而在主窗口中,如果选中该复选框,则将显示1。我没有收到错误消息。