Python tkinter变量在radiobutton中不起作用

时间:2015-04-30 11:14:17

标签: python tkinter radio-button

我有这个代码。这给了我用户通过单选按钮做出的选择。 但不幸的是它只选择了零。

代码:

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 (在选择上)。 为什么变量不起作用?

1 个答案:

答案 0 :(得分:0)

抱歉,我确实发现了我的错误。

  

ms = Tk.IntVar()需要是ms = Tk.IntVar(QueryResults)