当前位置:   article > 正文

【Python】【进阶篇】八、Tkinter的单选框和多选框按钮_tkinter radiobutton默认不选中

tkinter radiobutton默认不选中

八、Tkinter的单选框和多选框按钮

单选框按钮控件(Radiobutton),仅允许用户选择单一的选项值,各个选项值之间是互斥的关系。

单选框控件Radiobutton的常用属性如下

名称说明
activebackground设置当 Radiobutton 处于活动状态(通过 state 选项设置状态)的背景色,默认值由系统指定
activeforeground设置当 Radiobutton 处于活动状态(通过 state 选项设置状态)的前景色,默认值由系统指定
compound1. 默认值为 None,控制 Radiobutton 中文本和图像的混合模式,默认情况下,如果有指定位图或图片,则不显示文本 2. 如果该选项设置为 ““center””,文本显示在图像上(文本重叠图像)3. 设置为 ““bottom””,““left””,““right”” 或 ““top””,那么图像显示在文本的旁边,比如如"“bottom”",则显示图像在文本的下方。
disabledforeground指定当 Radiobutton 不可用的时的前景色颜色,默认由系统指定
indicatoron1. 该参数表示选项前面的小圆圈是否被绘制,默认为 True,即绘制;2. 如果设置为 False,则会改变单选按钮的样式,当点击时按钮会变成 ““sunken””(凹陷),再次点击变为 ““raised””(凸起)
selectcolor设置当 Radiobutton 为选中状态的时候显示的图片;如果没有指定 image 选项,该选项被忽略
takefocus如果是 True,该组件接受输入焦点,默认为 False
variable表示与 Radiobutton 控件关联的变量,注意同一组中的所有按钮的 variable 选项应该都指向同一个变量,通过将该变量与 value 选项值对比,可以判断用户选中了哪个按钮。

单选框控件Radiobutton的常用方法如下

名称说明
deselect()取消该按钮的选中状态
flash()刷新 Radiobutton 控件,该方法将重绘 Radiobutton控件若干次(即在"active" 和 “normal” 状态间切换)
invoke()1. 调用 Radiobutton 中 command 参数指定的函数,并返回函数的返回值 2. 如果 Radiobutton 控件的 state(状态) 是 “disabled” (不可用)或没有指定 command 选项,则该方法无效
select()将 Radiobutton 控件设置为选中状态
from tkinter import Tk, IntVar, Radiobutton

win = Tk()
win.title("Python自学")
win.geometry('380x280')
win.iconbitmap('./python.png')
# IntVar() 用于处理整数类型的变量
v = IntVar()
# 根据单选按钮的 value 值来选择相应的选项
v.set(0)

# 使用 variable 参数来关联 IntVar() 的变量 v
Radiobutton(win, text="Python中文网", activeforeground='blue', variable=v, value=0).pack(anchor='w')
Radiobutton(win, text="CSDN平台", activeforeground='blue', variable=v, value=2).pack(anchor='w')
Radiobutton(win, text="知乎平台", activeforeground='blue', variable=v, value=3).pack(anchor='w')
Radiobutton(win, text="牛客网平台", activeforeground='blue', variable=v, value=4).pack(anchor='w')
# 显示窗口
win.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

上面代码优化 -

from tkinter import Tk, IntVar, Radiobutton

win = Tk()
win.title("Python自学")
win.geometry('380x280')
win.iconbitmap('./python.png')
# IntVar() 用于处理整数类型的变量
v = IntVar()
# 根据单选按钮的 value 值来选择相应的选项
v.set(0)

radio_list = ["Python中文网", "CSDN平台", "知乎平台", "牛客网平台"]
# 使用 variable 参数来关联 IntVar() 的变量 v
for i, item in enumerate(radio_list):
    Radiobutton(win, text=item, activeforeground='blue', variable=v, value=i).pack(anchor='w')
# 显示窗口
win.mainloop()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

增加选择内容展示,代码如下 -

from tkinter import Tk, IntVar, Radiobutton, messagebox

win = Tk()
win.title("Python自学")
win.geometry('380x280')
win.iconbitmap('./python.png')
# IntVar() 用于处理整数类型的变量
v = IntVar()
# 根据单选按钮的 value 值来选择相应的选项
v.set(0)

radio_list = ["Python中文网", "CSDN平台", "知乎平台", "牛客网平台"]


def show_info():
    str_info = '您选择了' + radio_list[v.get()] + ',祝您学习愉快'
    messagebox.showinfo('提示', str_info)


# 使用 variable 参数来关联 IntVar() 的变量 v
for i, item in enumerate(radio_list):
    Radiobutton(win, text=item, activeforeground='blue', variable=v, value=i,
                command=show_info, indicatoron=False).pack(anchor='w')
# 显示窗口
win.mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

Checkbutton 控件是一种供用户选择相应条目的按钮控件

Checkbutton常用属性如下 -

名称说明
text显示的文本,使用 “\n” 来对文本进行换行。
variable1. 和复选框按钮关联的变量,该变量值会随着用户选择行为来改变(选或不选),即在 onvalue 和 offvalue 设置值之间切换,这些操作由系统自动完成 2. 在默认情况下,variable 选项设置为 1 表示选中状态,反之则为 0,表示不选中。
onvalue通过设置 onvalue 的值来自定义选中状态的值。
offvalue通过设置 offvalue 的值来自定义未选中状态的值。
indicatoron默认为 True,表示是否绘制用来选择的选项的小方块,当设置为 False 时,会改变原有按钮的样式,与单选按钮相同
selectcolor选择框的颜色(即小方块的颜色),默认由系统指定
selectimage设置当 Checkbutton 为选中状态的时候显示的图片,若如果没有指定 image 选项,该选项被忽略
textvariableCheckbutton 显示 Tkinter 变量(通常是一个 StringVar 变量)的内容,如果变量被修改,Checkbutton 的文本会自动更新
wraplength表示复选框文本应该被分成多少行,该选项指定每行的长度,单位是屏幕单元,默认值为 0

Checkbutton常用方法如下 -

名称说明
desellect()取消 Checkbutton 组件的选中状态,也就是设置 variable 为 offvalue
flash()刷新 Checkbutton 组件,对其进行重绘操作,即将前景色与背景色互换从而产生闪烁的效果。
invoke()1. 调用 Checkbutton 中 command 选项指定的函数或方法,并返回函数的返回值 2.如果 Checkbutton 的state(状态)"disabled"是 (不可用)或没有指定 command 选项,则该方法无效
select()将 Checkbutton 组件设置为选中状态,也就是设置 variable 为 onvalue
toggle()改变复选框的状态,如果复选框现在状态是 on,就改成 off,反之亦然
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/124985
推荐阅读
相关标签
  

闽ICP备14008679号