【Tkinter系列08/15】小部件(Radiobutton、Scale)

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
bgbackground 指示器后面的正常背景 和标签。
bitmap 要在单选按钮上显示单色图像,请将 此选项为位图;请参见第 5.7 节 “位图”。
bdborderwidth 指标部分周围的边框大小 本身。默认值为 5 像素。对于可能 值,请参见第 1.<> 节 “维度”。
command 每次用户时要调用的过程 更改此单选按钮的状态。
compound 如果同时指定文本和图形( 位图或图像),此选项指定位置 图形相对于文本显示。可能 值为 (默认值)、、、、 和 。例如,将定位图形 在文本下方。如果指定 ,则显示图形 但(如果有的话)不是。tk.NONEtk.TOPtk.BOTTOMtk.LEFTtk.RIGHTtk.CENTERcompound=tk.BOTTOMcompound=tk.NONEtext
cursor 如果将此选项设置为游标名称(请参见第 5.8 节 “游标”),鼠标光标将更改 当它位于单选按钮上时,到该模式。
disabledforeground 用于呈现 禁用单选按钮。默认值为点状 默认前景色的版本。
font 用于 的字体。请参见第 5.4 节 “键入字体”。text
fgforeground 用于的颜色 呈现 .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 节 “颜色”。
bgbackground 小部件中位于 槽。
bdborderwidth 槽周围的 3-D 边框的宽度和 滑 块。默认值为 5 像素。对于可接受的 值,请参见第 1.<> 节 “维度”。
command 每次滑块 搬。此过程将传递一个参数, 新的比例值。如果滑块被移动 很快,您可能不会收到每个回电 可能的位置,但你肯定会得到一个 结算时的回调。
cursor 鼠标悬停在 规模。请参见第 5.8 节 “游标”。
digits 程序读取当前值的方式 比例小部件是通过控制变量;请参见第 52 节 “控制变量:小部件背后的值”。的控制变量 刻度可以是 、 (表示类型) 或 。如果是字符串变量, 该选项控制多少 转换数字小数位数值时要使用的数字 到字符串。IntVarDoubleVarfloatStringVardigits
font 用于标签和批注的字体。请参见第 5.4 节 “键入字体”。
fgforeground 文本的颜色 用于标签和批注。
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(xy)

给定一对相对于左上角的坐标 小部件,此方法返回一个字符串,标识什么 小部件的功能部分位于该位置。 返回值可以是以下任何值:(xy)

'slider' 滑块。
'trough1' 对于水平刻度,在 滑 块;对于垂直刻度,高于 滑 块。
'trough2' 对于水平刻度,在 滑 块;对于垂直刻度,低于 滑 块。
'' 职位是 不在上述任何部分。(xy)

.set(value)

设置刻度的值。

猜你喜欢

转载自blog.csdn.net/gongdiwudu/article/details/132580426