Python tkinter - 第8章 单选按钮控件(Radiobutton)属性

第8章 单选按钮控件(Radiobutton)
Radiobutton,可以叫做单选按钮,无线按钮或者勾选按钮。单选按钮的功能是是实现多选一,从多个待选项中选择一个。 单选按钮的提示信息可以是文字或者图像,单选按钮的外观也有多种样式。为了能够更加灵活的处理单选按钮,还可以绑定一个回调函数,用来处理复杂的情况。当单选按钮被点击的时候,系统会自动调用这个函数。
单选按钮的文字只能使用一种字体。如果提示的文本信息太长,可以折行显示。还可以对其中的一个字符设置下划线,用来表示快捷键。默认情况下,可以使用Tab键移动焦点到单选按钮控件上。
每一组单选按钮只能和同一个变量关联。每个选项代表这个变量可能取值中的一个。这些取值不能重复,重复的单选按钮也没有任何的意义。
8.1 单选按钮控件属性

选项 描述
activebackground 当鼠标左键按下时,单选按钮的背景色
activeforeground 当鼠标左键按下时,单选按钮的前景色(文字颜色)
anchor 控制文本或者图片如何摆放。可以使用的数值有:
N, NE, E, SE, S, SW, W, NW, CENTER. 默认值是CENTER
backgroud
bg
单选按钮的背景色
bitmap 背景图片
borderwidth
bd
边框的大小,默认为 2 个像素
command 回调函数,当单选按钮被点击时,执行该函数
compound 设置如何同时显示文字和图片。默认的模式是如果提供了图片,会只显示图片。但是,如果将选项设为:
CENTER:在图片中央叠加显示文字
BOTTOM:在图片下方显示文字
LEFT:在图片左边显示文字
RIGHT:在图片右边显示文字
TOP:在图片上方显示文字
NONE:不显示文字
cursor 光标的形状设定,如arrow, circle, cross, plus 等
disabledforeground 禁用单选按钮时的前景色(文本颜色)
font 文本字体
foreground
fg
单选按钮的前景色(文本颜色)
height 设置高度。单位是行
highlightcolor 获得输入焦点时的高亮颜色(无效果)
highlightbackground 失去输入焦点时的背景颜色(无效果)
highlightthickness 获得输入焦点时的高亮边框宽度
indicatoron 控制indicator的状态。默认是True。如果是False,则不会显示圆形按钮,会用不同按钮的形式来显示整组的按钮,选中的按钮和其他未选中的靠按钮效果来区分。一般情况下,选中的按钮是SUNKEN效果的,而未选中的是RAISED效果的。
image 背景图片。
justify 折行显示的时候,设置不同行之间的对齐方式,可选项包括LEFT, RIGHT, CENTER
offrelief 按钮状态为off时的显示效果。默认值是RAISED
overrelief 鼠标经过单选按钮时候的显示效果。
padx 按钮在x轴方向上的内边距(padding),默认为 1 像素。
pady 按钮在y轴方向上的内边距(padding),默认为 1 像素。
relief 显示效果,设置控件的3D效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。
selectcolor 圆形按钮的背景颜色
selectimage 单选按钮被选中后显示的图片
state 单选按钮状态,默认为 state=NORMAL
text 提示文本,可使用 “\n” 来对文本进行换行。
takefocus 表示可以使用Tab键移动焦点到该单选按钮。默认是可以。
textvariable 关联的tkinter变量,一般是StringVar类型。如果该变量改变,则这个单选按钮的文本会更新。
underline 定义在那个字符下面显示下划线。默认按钮上的文本都不带下划线。
variable 变量,variable 的值为 1 或 0,代表着选中或不选中
width 默认宽度是单选按钮的文本或图像决定的,可以设置指定字符数。
wraplength 决定单选按钮的文字是否可以折行显示
8.1.1 activebackground和activeforeground
activebackground是鼠标左键按下时,单选按钮的背景颜色,鼠标键释放后,恢复初始颜色。activeforeground是鼠标左键按下时,单选按钮的文本颜色,鼠标键释放后,恢复初始颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('300x240')

b1 = tk.Radiobutton(root,text='选择1',activebackground='red',activeforeground='yellow')
b1.pack()

root.mainloop()

结果:
在这里插入图片描述
在这里插入图片描述
8.1.2 anchor
设置如何显示文本或者图像提示信息。可选项有:N, NE, E, SE, S, SW, W, NW, CENTER。如果是使用字符串直接赋值,需要小写字母。比如anchor=’ne’。
anchor属性如果要起作用,在使用pack布局管理器,需要设置expand=True以及fill=X、fill=Y或者fill=BOTH。否则anchor很可能没有效果。
如果使用grid布局管理器,需要设置rowconfigure和columnconfigure,同时设置sticky=’nsew’。详细的见代码说明。
pack布局管理代码:

import tkinter as tk
root=tk.Tk()
root.geometry('300x240')

b1 = tk.Radiobutton(root,text='选择1',anchor=tk.S+tk.W)
b1.pack(fill=tk.BOTH,expand=True)
root.mainloop()

结果:
在这里插入图片描述
说明:fill=tk.BOTH和expand=True的作用是让子控件可以充满整个窗口。
grid布局管理代码:

import tkinter as tk
root=tk.Tk()
roo
  • 19
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
RadioButton是Android中的一个单选按钮控件,通常用于让用户从多个选项中选择一个选项。它与CheckBox控件相似,但是RadioButton只能选择其中的一个选项,而CheckBox可以选择多个选项。 使用RadioButton控件通常需要将多个RadioButton放在同一个RadioGroup中,这样才能使它们之间产生互斥关系,即在同一时间只能选中一个RadioButton。 以下是一个简单的RadioButton的使用示例: 在XML布局文件中: ``` <RadioGroup android:id="@+id/radio_group" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:id="@+id/radio_button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="选项1" /> <RadioButton android:id="@+id/radio_button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="选项2" /> <RadioButton android:id="@+id/radio_button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="选项3" /> </RadioGroup> ``` 在Java代码中: ``` RadioGroup radioGroup = findViewById(R.id.radio_group); RadioButton radioButton1 = findViewById(R.id.radio_button1); RadioButton radioButton2 = findViewById(R.id.radio_button2); RadioButton radioButton3 = findViewById(R.id.radio_button3); radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { // 选中的RadioButton发生变化时的处理逻辑 if (i == R.id.radio_button1) { // 选中第一个选项的处理逻辑 } else if (i == R.id.radio_button2) { // 选中第二个选项的处理逻辑 } else if (i == R.id.radio_button3) { // 选中第三个选项的处理逻辑 } } }); ``` 在代码中,我们首先通过findViewById()方法获取到RadioGroup和RadioButton控件的实例,然后通过setOnCheckedChangeListener()方法设置监听器,当选中的RadioButton发生变化时会调用onCheckedChanged()方法,我们可以在该方法中根据选中的RadioButton的id来执行相应的逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值