简体   繁体   English

Python Tkinter变量在单选按钮中不起作用

[英]Python tkinter variable not working in radiobutton

I have this code.That gives me the selection that user has made through radio button. 我有这段代码,这使我可以通过单选按钮选择用户。 But unfortunately it only selects zeroes. 但不幸的是,它仅选择零。

Code: 码:

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()

Output: 0 0 0 0 0 0 (on selection). 输出:0 0 0 0 0 0(选择时)。 Why is the variable not working? 为什么变量不起作用?

Sorry, I did find out my error. 抱歉,我确实发现了我的错误。

ms=Tk.IntVar() needs to be ms=Tk.IntVar(QueryResults) ms = Tk.IntVar()必须为ms = Tk.IntVar(QueryResults)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM