实现代码
1 # radiobuttons globals 2 COLOR1 = "Blue" 3 COLOR2 = "Gold" 4 COLOR3 = "Red" 5 6 # radiobutton callback 7 def radCall(): 8 radSel=radVar.get() 9 if radSel == 1: win.configure(background=COLOR1)10 elif radSel == 2: win.configure(background=COLOR2)11 elif radSel == 3: win.configure(background=COLOR3)12 13 # create three radionbuttons14 radVar = tk.IntVar()15 rad1 = tk.Radiobutton(win, text=COLOR1, variable=radVar, value=1, command=radCall)16 rad1.grid(column=0, row=5, sticky=tk.W)17 18 rad2 = tk.Radiobutton(win, text=COLOR2, variable=radVar, value=2, command=radCall)19 rad2.grid(column=1, row=5, sticky=tk.W)20 21 rad3 = tk.Radiobutton(win, text=COLOR3, variable=radVar, value=3, command=radCall)22 rad3.grid(column=2, row=5, sticky=tk.W)
运行结果
工作原理
#2/3/4 创建模块级全局变量,在创建单选框按钮和设置背景颜色时用到。
#7 回调函数,根据用户选择设置窗口背景颜色。
#14 声明变量radVar为适用于tkinter的IntVar()类型,为三个单选按钮所共用。
#15-22 创建三个单选按钮,设置按钮标签显示内容,绑定按钮变量,设置数值及命令等。
因篇幅原因,未附上完整代码,如需参考其余代码及注释,敬请移步至之前文章;
或私信获取完整代码源文件,谢谢。
敬请关注更多Python GUI学习内容分享: