当前位置:   article > 正文

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

tkinter 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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

结果:
在这里插入图片描述
在这里插入图片描述
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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

import tkinter as tk
root=tk.Tk()
roo
  • 1
  • 2
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号