【Tkinter系列10/15】小部件 (Spin)

本文详细介绍了Tkinter库中的Spinbox小部件,包括其功能、使用方法和选项设置,如数值范围、箭头操作、编辑和焦点处理等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

23. 小部件Spinbox

该小部件允许用户选择 给定集合中的值。这些值的范围可以是 数字或一组固定的字符串。Spinbox

在屏幕上,a 有一个区域 显示当前值和一对箭头。Spinbox

  • 用户可以单击向上的箭头以 按顺序将值前进到下一个较高的值。 如果该值已达到最大值,则可以设置 小部件,如果您愿意,以便新值将包装 接近最低值。

  • 用户可以单击向下箭头以 按顺序将值前进到下一个较低的值。 此箭头也可以配置为环绕,因此 如果当前值最低,请单击 向下箭头将显示最大值。

  • 用户还可以直接输入值,将 小部件,就好像它是一个.用户 可以将焦点移动到小部件(请参见第 53 节 “焦点:路由键盘输入”),方法是单击它或 使用 Tab 或 Shift-Tab,然后编辑显示的值。Entry

创建新小部件作为 根窗口或框架的子窗口:Spinboxparent

w = tk.Spinbox(parent, option, ...)

构造函数返回新小部件。选项包括:Spinbox

表 32.旋转框小部件选项

activebackground光标位于 控件;请参见第 5.3 节 “颜色”。
bgbackground小组件的背景
bdborderwidth小部件周围边框的宽度;请参见第 5.1 节 “尺寸”。默认值为 <> 像素。
buttonbackground箭头上显示的背景色。 默认值为灰色。
buttoncursor鼠标悬停时要显示的光标 箭头;请参见第 5.8 节 “游标”。
buttondownrelief向下指向的浮雕样式 箭头;请参见第 5.6 节 “浮雕样式”。这 默认样式为 。tk.RAISED
buttonup向上指向的浮雕样式 箭头;请参见第 5.6 节 “浮雕样式”。这 默认样式为 。tk.RAISED
command使用此选项指定函数或方法 每当用户单击其中一个时调用 箭头。请注意,当用户编辑 直接值,就好像它是 .Entry
cursor选择鼠标时显示的光标 位于小部件的入口部分;请参见第 5.8 节 “游标”。
disabledbackground这些选项选择背景和前景 当小部件为 .statetk.DISABLED
disabledforeground
exportselection通常,可以剪切和粘贴条目部分中的文本。自 禁止此行为,请将该选项设置为 。SpinboxexportselectionTrue
font使用此选项为 条目文本;请参见第 5.4 节 “键入字体”。
fgforeground此选项选择用于显示 小部件条目部分中的文本和颜色 的箭头。
format使用此选项可控制 与 和 选项组合的数值。为 例如,将 将值显示为十个字符的字段,其中 小数点后四位数字。from_toformat='%10.4f'
from_将此选项与选项(如下所述)结合使用以约束 数值范围的值。例如,并且会 仅允许介于 1 和 9 之间的值(包括 <> 和 <>)。看 还有下面的选项。tofrom_=1to=9increment
highlightbackground颜色 焦点加亮显示时没有焦点。请参见第 53 节 “焦点:路由键盘输入”。Spinbox
highlightcolor颜色 焦点突出显示时有 焦点Spinbox
highlightthickness焦点的粗细突出显示。默认值为 。设置为 禁止显示焦点高亮。10
increment使用 和 选项约束值时,您将 可以使用该选项来 指定值增加或减少的程度 当用户单击箭头时。例如 带选项 、 和 , 向上箭头将逐步穿过值 0.0、0.5、 1.0、1.5 和 2.0。from_toincrementfrom_=0.0to=2.0increment=0.5
insertbackground选择颜色 在 的条目部分中显示的插入光标 小部件。
insertborderwidth此选项控制周围边框的宽度 插入光标。通常,插入 光标将没有边框。如果设置了此选项 对于非零值,插入光标将为 以浮雕样式显示。tk.RAISED
insertofftime这两个选项控制 插入光标:它花费的时间 和分别以毫秒为单位。为 例如,使用选项和 ,光标将闪烁 关闭 0.2 秒,然后打开 0.4 秒。insertofftime=200insertontime=400
insertontime
insertwidth使用此选项可指定 插入光标;有关可能的值,请参见第 5.1 节 “尺寸”。默认宽度为 <> 像素。
justify此选项控制文本在 中的位置 小组件的入口部分。值可能是左对齐文本; 居中;或对文本进行右对齐。tk.LEFTtk.CENTERRIGHT
readonlybackground此选项指定背景色 当小部件为 ;请参见第 5.3 节 “颜色”。state'readonly'
relief使用此选项为 控件;请参见第 5.6 节 “浮雕样式”。默认 风格是 .tk.SUNKEN
repeatdelay这些选项指定 鼠标单击箭头;值在 毫秒。价值 指定必须按住鼠标按钮的时间 在重复之前向下,并指定 函数重复。默认值为 400 和 100 分别是毫秒。repeatdelayrepeatinterval
repeatinterval
selectbackground用于显示选定项目的背景
selectborderwidth要在所选内容周围显示的边框宽度 项目。
selectforeground用于显示选定项目的前景色。
state通常,小部件是 在州中创建。设置 此选项使 小部件对鼠标或键盘操作无响应。 如果将其设置为 , 小部件条目部分中的值不能 使用击键修改,但该值仍然可以 被复制到剪贴板,小部件仍然 响应箭头上的单击。Spinboxtk.NORMALtk.DISABLED'readonly'
takefocus通常,小部件的入口部分可以具有焦点(请参见第 53 节 “焦点:路由键盘输入”)。从焦点遍历中删除小组件 序列,设置 .Spinboxtakefocus=False
textvariable如果要检索 小部件,您可以使用下面的方法,也可以关联控件 变量与小部件一起传递该控件 变量作为此选项的值。请参见第 52 节 “控制变量:小部件背后的值”。.get()
to此选项指定范围的上限 值。请参阅选项, 上面,还有选项。from_increment
values有两种方法可以指定可能的值 的小部件。一种方法是提供一个元组 字符串作为选项的值。例如,将只允许这三个 字符串作为值。将小组件配置为 接受一系列数值,请参阅上面的选项。valuesvalues=('red', 'blue', 'green')from_
width使用此选项可指定字符数 允许在小部件的入口部分。这 默认值为 20。
wrap通常,当小部件处于其最大值时, 向上箭头不执行任何操作,当小部件 处于其最低值,向下箭头 无。如果选择 , 向上箭头将从最高处前进 值回到最低值,向下箭头 将从最低值前进回 最高。wrap=True
xscrollcommand使用此选项将滚动条连接到条目 小部件的一部分。有关细节,请参见第 22.2 节 “将滚动条连接到另一个滚动条” 小部件”。

这些方法在小部件上可用:Spinbox

.bbox(index)

此方法返回字符的边界框 在小部件的入口部分中的位置。这 结果是一个元组,其中的值是左上角的和坐标,以及 字符的宽度和高度(以像素为单位),其中 次序。index(xywh)xy

.delete(first, last=None)

此方法从 的条目部分删除字符 这。和 的值是 以 Python 切片的标准方式解释。Spinboxfirstlast

.get()

此方法返回 的值。该值始终作为 字符串,即使小部件设置为包含 数。Spinbox

.icursor(index)

使用此方法将插入光标定位在 由 指定的位置,使用标准 位置的 Python 约定。index

.identify(xy)

给定一个职位 小部件,此方法返回一个字符串,描述什么 在那个位置。值可以是以下任何值:(xy)

  • 'entry'对于入口区域。

  • 'buttonup'对于向上指向 箭头。

  • 'buttondown'对于 向下的箭头。

  • ''(空字符串)如果这些 坐标不在微件内。

.index(i)

此方法返回 指数。 参数可以是以下任何一种:i

  • tk.END获得职位后 条目的最后一个字符。

  • tk.INSERT要获得位置 插入光标。

  • tk.ANCHOR要获得位置 选择锚点。

  • tk.SEL_FIRST'获得位置 所选内容的开始。如果选择是 不在小部件中,此方法会引发异常。tk.TclError

  • tk.SEL_LAST获得职位 刚刚过了选择的结束。如果 选择不在小部件中,此方法 引发异常。tk.TclError

  • 形式为 “” 的字符串表示小部件中的坐标。返回值 是包含该字符的字符的位置 坐标。如果坐标在 小部件,返回值将是 最接近该字符的位置 位置。@xx

.insert(indextext)

此方法插入字符串中的字符 由 指定的位置。为了可能 索引值,请参阅方法 以上。textindex.index()

.invoke(element)

调用此方法以获得与用户相同的效果 单击箭头。该参数适用于向上箭头和向下箭头。element'buttonup''buttondown'

.scan_dragto(x)

此方法的工作方式与第 10 节 “条目小部件”中描述的方法相同。.scan_dragto()

.scan_mark(x)

此方法的工作方式与第 10 节 “条目小部件”中描述的方法相同。.scan_mark()

.selection('from', index)

将小组件中的选择锚点设置为 由 指定的位置。为了可能 的值,请参见方法 以上。选择锚点的初始值为 0.indexindex.index()

.selection('to', index)

选择选择锚点和 鉴于。index

.selection('range', startend)

选择 和 索引之间的文本。对于允许的 索引值,请参阅方法 以上。startend.index()

.selection_clear()

清除所选内容。

.selection_get()

返回所选文本。如果当前没有 选择时,此方法将引发异常。tk.TclError

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无水先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值