20. 小部件Radiobutton
 
单选按钮是一组相关的小部件,允许 用户,仅选择一组选项中的一个。每 单选按钮由指示器和标签两部分组成:

-  指示器是变为红色的菱形部分 在所选项目中。 
-  标签是文本,但您可以使用图像或位图作为标签。 
-  如果您愿意,可以省去该指标。 这使得单选按钮看起来像 “推-推”按钮,带有选定的 条目显示为凹陷,其余部分显示为凸起。 
-  要将多个单选按钮组成一个功能组, 创建一个控制变量(请参见下面的第 52 节 “控制变量:小部件背后的值”),并将每个单选按钮的选项设置为 该变量。 variable控制变量可以是 或 .如果两个 或多个单选按钮共享相同的控制变量, 设置其中任何一个都将清除其他。 IntVarStringVar
-  组中的每个单选按钮必须具有与控件类型相同的唯一选项 变量。例如,一组三个单选按钮 可能共享一个 并且具有 0、1 和 99。或者,您可以使用控制变量并为单选按钮提供选项,如 、 和 。 valueIntVarStringVarvalue'too hot''too cold''just right'
创建新的单选按钮构件作为根的子项 名为 : 的窗口或框架:parent
  w = tk.Radiobutton(parent, option, ...)此构造函数返回新小部件。选项:Radiobutton
表 29.单选按钮小部件选项
| activebackground | 鼠标悬停在 单选按钮。请参见第 5.3 节 “颜色”。 | 
| activeforeground | 鼠标位于单选按钮上时的前景色。 | 
| anchor | 如果小部件所在的空间大于它 需要,此选项指定单选按钮的位置 将坐在那个空间。缺省值为 。用于其他定位 选项,请参见第 5.5 节 “锚点”。为 例如,如果设置 , 单选按钮将放置在右上角 可用空间的一角。 anchor=tk.CENTERanchor=tk.NE | 
| bg或background | 指示器后面的正常背景色 和标签。 | 
| bitmap | 要在单选按钮上显示单色图像,请将 此选项为位图;请参见第 5.7 节 “位图”。 | 
| bd或borderwidth | 指标部分周围的边框大小 本身。默认值为 5 像素。对于可能 值,请参见第 1.<> 节 “维度”。 | 
| command | 每次用户时要调用的过程 更改此单选按钮的状态。 | 
| compound | 如果同时指定文本和图形( 位图或图像),此选项指定位置 图形相对于文本显示。可能 值为 (默认值)、、、、 和 。例如,将定位图形 在文本下方。如果指定 ,则显示图形 但(如果有的话)不是。 tk.NONEtk.TOPtk.BOTTOMtk.LEFTtk.RIGHTtk.CENTERcompound=tk.BOTTOMcompound=tk.NONEtext | 
| cursor | 如果将此选项设置为游标名称(请参见第 5.8 节 “游标”),鼠标光标将更改 当它位于单选按钮上时,到该模式。 | 
| disabledforeground | 用于呈现 禁用单选按钮。默认值为点状 默认前景色的版本。 | 
| font | 用于 的字体。请参见第 5.4 节 “键入字体”。 text | 
| fg或foreground | 用于的颜色 呈现 . text | 
| height | 单选按钮上文本的行数(不是像素)。默认值为 1。 | 
| highlightbackground | 焦点的颜色在 单选按钮没有焦点。请参见第 53 节 “焦点:路由键盘输入”。 | 
| highlightcolor | 颜色 当单选按钮具有焦点时,焦点突出显示。 | 
| highlightthickness | 焦点的粗细突出显示。默认值为 。设置为禁止显示 的焦点突出显示。 1highlightthickness=0 | 
| image | 为此显示图形图像而不是文本 单选按钮,将此选项设置为图像对象。 请参见第 5.9 节 “图像”。图像随即出现 未选择单选按钮时;比较 下面。 selectimage | 
| indicatoron | 通常,单选按钮显示其指示器。如果 将此选项设置为零,指示器 消失,整个小部件变成 看起来凸起的“推-推”按钮 当它被清除并在设置时沉没。你 可能希望增加该值以使其更容易看到此类状态 控制。 borderwidth | 
| justify | 如果包含多行, 此选项控制文本的对齐方式:(默认值)、、 或 。 texttk.CENTERtk.LEFTtk.RIGHT | 
| offrelief | 如果通过断言 来抑制指示器,则该选项将浮雕样式指定为 未选择单选按钮时显示。 默认值为 。 indicatoron=Falseoffrelieftk.RAISED | 
| overrelief | 指定浮雕 鼠标时显示的样式 在单选按钮上。 | 
| padx | 在左右边留多少空间 单选按钮和文本。默认值为 1。 | 
| pady | 在上方和下方留出多少空间 单选按钮和文本。默认值为 1。 | 
| relief | 默认情况下,单选按钮将有浮雕,因此它不会从 它的背景。请参见第 5.6 节 “浮雕样式” 更多 3D 效果选项。也可以使用 ,它显示纯黑色 单选按钮周围的框架。 tk.FLATrelief=tk.SOLID | 
| selectcolor | 颜色 设置时的单选按钮。默认值为红色。 | 
| selectimage | 如果您正在使用该选项 显示图形而不是文本时 单选按钮已清除,您可以将该选项设置为其他图像 这将在设置单选按钮时显示。 请参见第 5.9 节 “图像”。 imageselectimage | 
| state | 默认值为 ,但您 可以设置为灰色 控件并使其无响应。如果 光标当前位于单选按钮上,状态为 是。 state=tk.NORMALstate=tk.DISABLEDtk.ACTIVE | 
| takefocus | 默认情况下,输入焦点(请参见第 53 节 “焦点:路由键盘输入”)将通过单选按钮。 如果设置 ,焦点将 不要访问此单选按钮。 takefocus=0 | 
| text | 单选按钮旁边显示的标签。用 换行符 () 以显示多个 文本行。 '\n' | 
| textvariable | 如果需要更改单选按钮上的标签 在执行期间,创建一个(请参见第 52 节 “控制变量:小部件背后的值”)来管理 当前值,并将此选项设置为 控制变量。每当控制变量 值更改,单选按钮的注释将 也会自动更改为该文本。 StringVar | 
| underline | 默认值为 -1 时,没有 文本标签的字符带有下划线。设置 此选项用于文本中字符的索引 (从零开始计数)以下划线该字符。 | 
| value | 当用户打开单选按钮时,其 控制变量设置为其当前选项。如果控制变量为 一个 ,给每个单选按钮 分组不同的整数选项。如果控制变量为 ,则为每个单选按钮 不同的字符串选项。 valueIntVarvalueStringVarvalue | 
| variable | 此单选按钮共享的控制变量 与组中的其他单选按钮一起使用;请参见第 52 节 “控制变量:小部件背后的值”。这可以是 一个或一个 . IntVarStringVar | 
| width | 单选按钮的默认宽度由 显示的图像或文本的大小。您可以 将此选项设置为多个字符 (不是像素)和 单选按钮将永远有那么多的空间 字符。 | 
| wraplength | 通常,行不会换行。您可以设置此项 选项为多个字符,所有行都将 被分成不超过该数字的碎片。 | 
单选按钮对象上的方法包括:
.deselect()
清除(关闭)单选按钮。
.flash()
在其之间闪烁单选按钮几次 活动和正常颜色,但保持原样 开始。
.invoke()
可以调用此方法来获取与 如果用户单击单选按钮以 更改其状态。
.select()
设置(打开)单选按钮。
21. “缩放”小部件 (anzeljg.github.io)
21. 小部件Scale
 
  比例微件的目的是允许用户在 指定范围。这里有两个比例小部件,一个水平和 一个垂直:intfloat

每个刻度显示一个滑块,该滑块 用户可以沿着低谷拖动到 更改值。在图中,第一个滑块是 目前为 -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 节 “控制变量:小部件背后的值”。的控制变量 刻度可以是 、 (表示类型) 或 。如果是字符串变量, 该选项控制多少 转换数字小数位数值时要使用的数字 到字符串。 IntVarDoubleVarfloatStringVardigits | 
| font | 用于标签和批注的字体。请参见第 5.4 节 “键入字体”。 | 
| fg或foreground | 文本的颜色 用于标签和批注。 | 
| from_ | 定义 刻度的范围。对于垂直刻度,这是顶部 结束;对于水平刻度,为左端。底杆 () 不是拼写错误:因为是 Python 中的保留字,此选项 拼写为 .默认值为 0.0。 请参阅下面的选项,了解其他选项 范围的结束。 float_fromfrom_to | 
| highlightbackground | 颜色 当刻度没有焦点时,焦点会突出显示。 请参见第 53 节 “焦点:路由键盘输入”。 | 
| highlightcolor | 颜色 焦点突出显示 当刻度具有焦点时。 | 
| highlightthickness | 焦点的厚度 突出显示。默认值为 1。设置为禁止显示 的焦点突出显示。 highlightthickness=0 | 
| label | 您可以通过以下方式在比例微件中显示标签 将此选项设置为标签的文本。标签 如果比例为 水平,如果垂直,则为右上角。 默认值为无标签。 | 
| length | 比例微件的长度。如果比例为 水平,如果垂直,则为 y 维。默认值为 100 像素。为 允许的值,请参见第 5.1 节 “尺寸”。 | 
| orient | 如果需要,请设置 缩放以沿 X 维度运行,或运行 平行于 y 轴。 默认值为垂直。 orient=tk.HORIZONTALorient=tk.VERTICAL | 
| relief | 默认情况下,将 比例并没有从其背景中脱颖而出。你 也可用于获得 刻度周围的纯黑框,或任何 第 5.6 节 “浮雕样式”中描述的其他浮雕类型。 relief=tk.FLATrelief=tk.SOLID | 
| repeatdelay | 此选项控制按钮 1 的长度 在滑块启动之前按住低谷 反复朝那个方向移动。默认值为 ,单位为 毫秒。 repeatdelay=300 | 
| repeatinterval | 此选项控制滑块跳转的频率 一旦按钮 1 在槽中按住 至少毫秒。 例如,每 100 毫秒跳转一次滑块。 repeatdelayrepeatinterval=100 | 
| resolution | 通常,用户只能更改 按整单位缩放。将此选项设置为一些 其他值以更改 比例的值。例如,如果和 ,和 您设置,比例 将有 5 个可能的值:-1.0、-0.5、0.0、+0.5、 和 +1.0。所有较小的移动都将被忽略。 用于禁用任何 值的舍入。 from_=-1.0to=1.0resolution=0.5resolution=-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.0to=1.0tickinterval=0.25 | 
| to | 定义 刻度范围;另一端由选项定义,如上所述。该值可以大于或小于 比值。对于垂直 刻度,值定义底部 规模;对于水平刻度,右端。这 默认值为 100.0。 floatfrom_tofrom_to | 
| troughcolor | 颜色 槽。 | 
| variable | 此尺度的控制变量(如果有);请参见第 52 节 “控制变量:小部件背后的值”。控制变量可以是 从类 、(对于类型)或 。在后一种情况下,数字 值将转换为字符串。有关以下方面的更多信息,请参阅上面的选项。 此转换。 IntVarDoubleVarfloatStringVardigits | 
| width | 微件槽部分的宽度。这 是垂直刻度的 x 维度和 y 尺寸(如果刻度具有 )。默认值为 15 像素。 orient=tk.HORIZONTAL | 
缩放对象具有以下方法:
.coords(value=None)
返回相对于左上角的坐标 小部件的一角,对应于给定值 的规模。对于 ,你得到 滑块中心在其处的坐标 当前位置。查找滑块的位置 如果刻度的值设置为某个值,则使用 。value=Nonexvalue=x
.get()
此方法返回刻度的当前值。
.identify(x, y)
给定一对相对于左上角的坐标 小部件,此方法返回一个字符串,标识什么 小部件的功能部分位于该位置。 返回值可以是以下任何值:(x, y)
| 'slider' | 滑块。 | 
| 'trough1' | 对于水平刻度,在 滑 块;对于垂直刻度,高于 滑 块。 | 
| 'trough2' | 对于水平刻度,在 滑 块;对于垂直刻度,低于 滑 块。 | 
| '' | 职位是 不在上述任何部分。 ( | 
.set(value)
设置刻度的值。



















