我正在尝试制作一个程序,您可以在其中选择事件,然后打印所述选择的事件。我正在使用复选按钮以显示标题中的事件列表。但是我无法更改每个复选框的值来验证将要打印的事件。
我尝试分配IntVar()
变量,但仍然无法正常工作,当我使用get()
打印checkbutton的值时,即使选择了checkbutton,它也会打印零。 return 1.下面是我的程序的一部分,包括我的主窗口的一小部分和create checkbutton窗口功能。
from tkinter import *
root = Tk()
#Variables
titles = ["soccer match","Basketball match","running", "Table Tennis", "paintball", "chess match"]
button_list = []
#Button to get all the values from checkbuttons
def done_press():
global button_list
for title_index in range(len(titles)):
print(button_list[title_index].get())
#Checkbutton window
def checkbutton():
check_window = Tk()
for x in range(len(titles)):
button_list.append(IntVar())
l = Checkbutton(check_window, text=titles[x], variable=button_list[x])
l.pack(padx=10,pady=10)
done = Button(check_window, text ="Done", command=done_press)
done.pack(padx=10,pady=10)
#Main Window
button = Button(root,text = "click me!",command= checkbutton)
button.pack()
root.mainloop()
要使每个选中按钮返回1作为变量,我应该改变什么?
答案 0 :(得分:3)
您的代码很好,但只有一小部分:
SELECT [Text]
FROM #Data
-------
Text
-------
Visu"al
Visual
Visual1
Visual2
Visual3
Visual[
这将创建check_window = Tk()
的另一个实例,并且Tk的两个实例无法轻松地在彼此之间传递变量。
只需将其更改为:
Tk