from tkinter import * def printSelection(): num = var.get() if num == 1: lab.config(text="你是男生") else: lab.config(text="你是女生") root =Tk() root.title("tkiner单选") var = IntVar() var.set(1) lab = Label(root,text="这是预设,尚未选择",bg="lightyellow",width=30) lab.pack() rbman=Radiobutton(root,text="男生",variable=var,value=1,command=printSelection) rbman.pack() rbwoman=Radiobutton(root,text="女生",variable=var,value=2,command=printSelection) rbwoman.pack() rbwoman.pack() root.mainloop()
用StringVar()代替IntVar()简化4-8行
1 from tkinter import * 2 def printSelection(): 3 lab.config(text="你是"+var.get()) 4 5 6 root =Tk() 7 root.title("tkiner单选") 8 9 var = StringVar() 10 var.set("男生") 11 12 lab = Label(root,text="这是预设,尚未选择",bg="lightyellow",width=30) 13 lab.pack() 14 rbman=Radiobutton(root,text="男生",variable=var,value="男生",command=printSelection) 15 rbman.pack() 16 rbwoman=Radiobutton(root,text="女生",variable=var,value="女生",command=printSelection) 17 rbwoman.pack() 18 19 rbwoman.pack() 20 root.mainloop()