我有这个代码。这给了我用户通过单选按钮做出的选择。 但不幸的是它只选择了零。
代码:
QueryResults=Tk.Tk()
row_no=0
Tk.Label(QueryResults,text="Name ").grid(row=row_no,column=0,padx=5,pady=10)
Tk.Label(QueryResults,text="Source ").grid(row=row_no,column=1,padx=5,pady=10)
Tk.Label(QueryResults,text="Destination ").grid(row=row_no,column=2,padx=5,pady=10)
Tk.Label(QueryResults,text="Source Time ").grid(row=row_no,column=3,padx=5,pady=10)
Tk.Label(QueryResults,text="Destination Time ").grid(row=row_no,column=4,padx=5,pady=10)
Tk.Label(QueryResults,text="Economy Fare(per person) ").grid(row=row_no,column=5,padx=5,pady=10)
Tk.Label(QueryResults,text="Executive Fare(per person) ").grid(row=row_no,column=6,padx=5,pady=10)
Tk.Label(QueryResults,text="Via ").grid(row=row_no,column=7,padx=5,pady=10)
ms=Tk.IntVar()
def sel2():
print ms.get()
for flight in Flights_record:
row_no=row_no+1
Tk.Radiobutton(QueryResults,text=flight["Name"],variable=ms,value=row_no+5,command=sel2).grid(row=row_no,column=0,padx=5,pady=10)
Tk.Label(QueryResults,text=values["Source"]).grid(row=row_no,column=1,padx=5,pady=10)
Tk.Label(QueryResults,text=values["Destination"]).grid(row=row_no,column=2,padx=5,pady=10)
Tk.Label(QueryResults,text=flight["Source Time"]).grid(row=row_no,column=3,padx=5,pady=10)
Tk.Label(QueryResults,text=flight["Destination Time"]).grid(row=row_no,column=4,padx=5,pady=10)
Tk.Label(QueryResults,text=flight["Economy Fare"]).grid(row=row_no,column=5,padx=5,pady=10)
Tk.Label(QueryResults,text=flight["Executive Fare"]).grid(row=row_no,column=6,padx=5,pady=10)
Tk.Label(QueryResults,text=" ,".join(flight["Via"])).grid(row=row_no,column=7,padx=5,pady=10)
def book_flight():
print Flights_record[ms.get()]
Tk.Button(QueryResults,text="Submit",command=book_flight).grid(row=row_no+1,columnspan=7,padx=5,pady=10)
QueryResults.mainloop()
输出: 0 0 0 0 0 0 (在选择上)。 为什么变量不起作用?
答案 0 :(得分:0)
抱歉,我确实发现了我的错误。
ms = Tk.IntVar()需要是ms = Tk.IntVar(QueryResults)