20. 小部件Radiobutton
单选按钮是一组相关的小部件,允许 用户,仅选择一组选项中的一个。每 单选按钮由指示器和标签两部分组成:
-
指示器是变为红色的菱形部分 在所选项目中。
-
标签是文本,但您可以使用图像或位图作为标签。
-
如果您愿意,可以省去该指标。 这使得单选按钮看起来像 “推-推”按钮,带有选定的 条目显示为凹陷,其余部分显示为凸起。
-
要将多个单选按钮组成一个功能组, 创建一个控制变量(请参见下面的第 52 节 “控制变量:小部件背后的值”),并将每个单选按钮的选项设置为 该变量。
variable
控制变量可以是 或 .如果两个 或多个单选按钮共享相同的控制变量, 设置其中任何一个都将清除其他。
IntVar
StringVar
-
组中的每个单选按钮必须具有与控件类型相同的唯一选项 变量。例如,一组三个单选按钮 可能共享一个 并且具有 0、1 和 99。或者,您可以使用控制变量并为单选按钮提供选项,如 、 和 。
value
IntVar
StringVar
value
'too hot'
'too cold'
'just right'
创建新的单选按钮构件作为根的子项 名为 : 的窗口或框架:parent
w = tk.Radiobutton(parent, option, ...)
此构造函数返回新小部件。选项:Radiobutton
表 29.单选按钮
小部件选项
activebackground | 鼠标悬停在 单选按钮。请参见第 5.3 节 “颜色”。 |
activeforeground | 鼠标位于单选按钮上时的前景色。 |
anchor | 如果小部件所在的空间大于它 需要,此选项指定单选按钮的位置 将坐在那个空间。缺省值为 。用于其他定位 选项,请参见第 5.5 节 “锚点”。为 例如,如果设置 , 单选按钮将放置在右上角 可用空间的一角。anchor=tk.CENTER anchor=tk.NE |
bg 或background | 指示器后面的正常背景色 和标签。 |
bitmap | 要在单选按钮上显示单色图像,请将 此选项为位图;请参见第 5.7 节 “位图”。 |
bd 或borderwidth | 指标部分周围的边框大小 本身。默认值为 5 像素。对于可能 值,请参见第 1.<> 节 “维度”。 |
command | 每次用户时要调用的过程 更改此单选按钮的状态。 |
compound | 如果同时指定文本和图形( 位图或图像),此选项指定位置 图形相对于文本显示。可能 值为 (默认值)、、、、 和 。例如,将定位图形 在文本下方。如果指定 ,则显示图形 但(如果有的话)不是。tk.NONE tk.TOP tk.BOTTOM tk.LEFT tk.RIGHT tk.CENTER compound=tk.BOTTOM compound=tk.NONE text |
cursor | 如果将此选项设置为游标名称(请参见第 5.8 节 “游标”),鼠标光标将更改 当它位于单选按钮上时,到该模式。 |
disabledforeground | 用于呈现 禁用单选按钮。默认值为点状 默认前景色的版本。 |
font | 用于 的字体。请参见第 5.4 节 “键入字体”。text |
fg 或foreground | 用于的颜色 呈现 .text |
height | 单选按钮上文本的行数(不是像素)。默认值为 1。 |
highlightbackground | 焦点的颜色在 单选按钮没有焦点。请参见第 53 节 “焦点:路由键盘输入”。 |
highlightcolor | 颜色 当单选按钮具有焦点时,焦点突出显示。 |
highlightthickness | 焦点的粗细突出显示。默认值为 。设置为禁止显示 的焦点突出显示。1 highlightthickness=0 |
image | 为此显示图形图像而不是文本 单选按钮,将此选项设置为图像对象。 请参见第 5.9 节 “图像”。图像随即出现 未选择单选按钮时;比较 下面。selectimage |
indicatoron | 通常,单选按钮显示其指示器。如果 将此选项设置为零,指示器 消失,整个小部件变成 看起来凸起的“推-推”按钮 当它被清除并在设置时沉没。你 可能希望增加该值以使其更容易看到此类状态 控制。borderwidth |
justify | 如果包含多行, 此选项控制文本的对齐方式:(默认值)、、 或 。text tk.CENTER tk.LEFT tk.RIGHT |
offrelief | 如果通过断言 来抑制指示器,则该选项将浮雕样式指定为 未选择单选按钮时显示。 默认值为 。indicatoron=False offrelief tk.RAISED |
overrelief | 指定浮雕 鼠标时显示的样式 在单选按钮上。 |
padx | 在左右边留多少空间 单选按钮和文本。默认值为 1。 |
pady | 在上方和下方留出多少空间 单选按钮和文本。默认值为 1。 |
relief | 默认情况下,单选按钮将有浮雕,因此它不会从 它的背景。请参见第 5.6 节 “浮雕样式” 更多 3D 效果选项。也可以使用 ,它显示纯黑色 单选按钮周围的框架。tk.FLAT relief=tk.SOLID |
selectcolor | 颜色 设置时的单选按钮。默认值为红色。 |
selectimage | 如果您正在使用该选项 显示图形而不是文本时 单选按钮已清除,您可以将该选项设置为其他图像 这将在设置单选按钮时显示。 请参见第 5.9 节 “图像”。image selectimage |
state | 默认值为 ,但您 可以设置为灰色 控件并使其无响应。如果 光标当前位于单选按钮上,状态为 是。state=tk.NORMAL state=tk.DISABLED tk.ACTIVE |
takefocus | 默认情况下,输入焦点(请参见第 53 节 “焦点:路由键盘输入”)将通过单选按钮。 如果设置 ,焦点将 不要访问此单选按钮。takefocus=0 |
text | 单选按钮旁边显示的标签。用 换行符 () 以显示多个 文本行。'\n' |
textvariable | 如果需要更改单选按钮上的标签 在执行期间,创建一个(请参见第 52 节 “控制变量:小部件背后的值”)来管理 当前值,并将此选项设置为 控制变量。每当控制变量 值更改,单选按钮的注释将 也会自动更改为该文本。StringVar |
underline | 默认值为 -1 时,没有 文本标签的字符带有下划线。设置 此选项用于文本中字符的索引 (从零开始计数)以下划线该字符。 |
value | 当用户打开单选按钮时,其 控制变量设置为其当前选项。如果控制变量为 一个 ,给每个单选按钮 分组不同的整数选项。如果控制变量为 ,则为每个单选按钮 不同的字符串选项。value IntVar value StringVar value |
variable | 此单选按钮共享的控制变量 与组中的其他单选按钮一起使用;请参见第 52 节 “控制变量:小部件背后的值”。这可以是 一个或一个 .IntVar StringVar |
width | 单选按钮的默认宽度由 显示的图像或文本的大小。您可以 将此选项设置为多个字符 (不是像素)和 单选按钮将永远有那么多的空间 字符。 |
wraplength | 通常,行不会换行。您可以设置此项 选项为多个字符,所有行都将 被分成不超过该数字的碎片。 |
单选按钮对象上的方法包括:
.deselect()
清除(关闭)单选按钮。
.flash()
在其之间闪烁单选按钮几次 活动和正常颜色,但保持原样 开始。
.invoke()
可以调用此方法来获取与 如果用户单击单选按钮以 更改其状态。
.select()
设置(打开)单选按钮。
21. “缩放”小部件 (anzeljg.github.io)
21. 小部件Scale
比例微件的目的是允许用户在 指定范围。这里有两个比例小部件,一个水平和 一个垂直:int
float
每个刻度显示一个滑块,该滑块 用户可以沿着低谷拖动到 更改值。在图中,第一个滑块是 目前为 -0.38,第二个为 7。
-
您可以使用鼠标将滑块拖动到新值 按钮 1.
-
如果单击槽中的按钮 1,滑块将 每次单击沿该方向移动一个增量。 按住低谷中的按钮 1 将在 延迟,开始自动重复其功能。
-
如果秤有键盘 焦点,向左箭头和向上箭头击键将 向上移动滑块(对于垂直缩放)或向左移动(对于 水平刻度)。向右箭头和向下箭头 击键将向下或向右移动滑块。
创建新的缩放构件作为根窗口的子窗口 或名为 :parent
w = tk.Scale(parent, option, ...)
构造函数返回新小部件。选项:Scale
表 30.缩放
微件选项
activebackground | 鼠标悬停在滑块上时滑块的颜色。 请参见第 5.3 节 “颜色”。 |
bg 或background | 小部件中位于 槽。 |
bd 或borderwidth | 槽周围的 3-D 边框的宽度和 滑 块。默认值为 5 像素。对于可接受的 值,请参见第 1.<> 节 “维度”。 |
command | 每次滑块 搬。此过程将传递一个参数, 新的比例值。如果滑块被移动 很快,您可能不会收到每个回电 可能的位置,但你肯定会得到一个 结算时的回调。 |
cursor | 鼠标悬停在 规模。请参见第 5.8 节 “游标”。 |
digits | 程序读取当前值的方式 比例小部件是通过控制变量;请参见第 52 节 “控制变量:小部件背后的值”。的控制变量 刻度可以是 、 (表示类型) 或 。如果是字符串变量, 该选项控制多少 转换数字小数位数值时要使用的数字 到字符串。IntVar DoubleVar float StringVar digits |
font | 用于标签和批注的字体。请参见第 5.4 节 “键入字体”。 |
fg 或foreground | 文本的颜色 用于标签和批注。 |
from_ | 定义 刻度的范围。对于垂直刻度,这是顶部 结束;对于水平刻度,为左端。底杆 () 不是拼写错误:因为是 Python 中的保留字,此选项 拼写为 .默认值为 0.0。 请参阅下面的选项,了解其他选项 范围的结束。float _ from from_ to |
highlightbackground | 颜色 当刻度没有焦点时,焦点会突出显示。 请参见第 53 节 “焦点:路由键盘输入”。 |
highlightcolor | 颜色 焦点突出显示 当刻度具有焦点时。 |
highlightthickness | 焦点的厚度 突出显示。默认值为 1。设置为禁止显示 的焦点突出显示。highlightthickness=0 |
label | 您可以通过以下方式在比例微件中显示标签 将此选项设置为标签的文本。标签 如果比例为 水平,如果垂直,则为右上角。 默认值为无标签。 |
length | 比例微件的长度。如果比例为 水平,如果垂直,则为 y 维。默认值为 100 像素。为 允许的值,请参见第 5.1 节 “尺寸”。 |
orient | 如果需要,请设置 缩放以沿 X 维度运行,或运行 平行于 y 轴。 默认值为垂直。orient=tk.HORIZONTAL orient=tk.VERTICAL |
relief | 默认情况下,将 比例并没有从其背景中脱颖而出。你 也可用于获得 刻度周围的纯黑框,或任何 第 5.6 节 “浮雕样式”中描述的其他浮雕类型。relief=tk.FLAT relief=tk.SOLID |
repeatdelay | 此选项控制按钮 1 的长度 在滑块启动之前按住低谷 反复朝那个方向移动。默认值为 ,单位为 毫秒。repeatdelay=300 |
repeatinterval | 此选项控制滑块跳转的频率 一旦按钮 1 在槽中按住 至少毫秒。 例如,每 100 毫秒跳转一次滑块。repeatdelay repeatinterval=100 |
resolution | 通常,用户只能更改 按整单位缩放。将此选项设置为一些 其他值以更改 比例的值。例如,如果和 ,和 您设置,比例 将有 5 个可能的值:-1.0、-0.5、0.0、+0.5、 和 +1.0。所有较小的移动都将被忽略。 用于禁用任何 值的舍入。from_=-1.0 to=1.0 resolution=0.5 resolution=-1 |
showvalue | 通常,刻度的当前值为 滑块以文本形式显示(在其上方为 水平刻度,向左表示垂直 鳞片)。将此选项设置为 0 可禁止显示 标签。 |
sliderlength | 通常滑块沿长度为 30 像素 的规模。您可以通过以下方式更改该长度 将选项设置为 您想要的长度;请参见第 5.1 节 “尺寸”。sliderlength |
sliderrelief | 默认情况下,滑块以浮雕样式显示。对于其他救济 样式,将此选项设置为任何值 在第 5.6 节 “浮雕样式”中描述。tk.RAISED |
state | 通常,秤小部件响应鼠标事件, 当他们有焦点时,还有键盘事件。 设置为使 小部件无响应。state=tk.DISABLED |
takefocus | 通常,焦点将在缩放中循环 部件。如果不需要,请将此选项设置为 0 此行为。请参见第 53 节 “焦点:路由键盘输入”。 |
tickinterval | 通常,不会显示“即时报价” 沿着规模。要显示周期性刻度值, 将此选项设置为一个数字,刻度将是 以该值的倍数显示。例如 如果 和 ,标签将 沿刻度以值 0.0、0.25 显示, 0.50、0.75 和 1.00。这些标签如下所示 如果为水平,则为比例,如果为垂直,则为左侧。 默认值为 0,表示禁止显示即时报价。from_=0.0 to=1.0 tickinterval=0.25 |
to | 定义 刻度范围;另一端由选项定义,如上所述。该值可以大于或小于 比值。对于垂直 刻度,值定义底部 规模;对于水平刻度,右端。这 默认值为 100.0。float from_ to from_ to |
troughcolor | 颜色 槽。 |
variable | 此尺度的控制变量(如果有);请参见第 52 节 “控制变量:小部件背后的值”。控制变量可以是 从类 、(对于类型)或 。在后一种情况下,数字 值将转换为字符串。有关以下方面的更多信息,请参阅上面的选项。 此转换。IntVar DoubleVar float StringVar digits |
width | 微件槽部分的宽度。这 是垂直刻度的 x 维度和 y 尺寸(如果刻度具有 )。默认值为 15 像素。orient=tk.HORIZONTAL |
缩放对象具有以下方法:
.coords(value=None)
返回相对于左上角的坐标 小部件的一角,对应于给定值 的规模。对于 ,你得到 滑块中心在其处的坐标 当前位置。查找滑块的位置 如果刻度的值设置为某个值,则使用 。value=None
x
value=
x
.get()
此方法返回刻度的当前值。
.identify(
x
, y
)
给定一对相对于左上角的坐标 小部件,此方法返回一个字符串,标识什么 小部件的功能部分位于该位置。 返回值可以是以下任何值:(
x
, y
)
'slider' | 滑块。 |
'trough1' | 对于水平刻度,在 滑 块;对于垂直刻度,高于 滑 块。 |
'trough2' | 对于水平刻度,在 滑 块;对于垂直刻度,低于 滑 块。 |
'' | 职位是 不在上述任何部分。( |
.set(
value
)
设置刻度的值。