Spinbox 组件类似于Entry,但可以选择固定的值
- 创建Spinbox输入框
import tkinter as tk
window = tk.Tk()
window.title('hello thinter')
height= window.winfo_screenheight()
width= window.winfo_screenwidth()
window.geometry('400x300+%d+%d'%((width-400)/2,(height-300)/2))
w = tk.Spinbox(window, from_=0, to=10)
w.pack()
window.mainloop()
- 指定数据
import tkinter as tk
window = tk.Tk()
window.title('hello thinter')
height= window.winfo_screenheight()
width= window.winfo_screenwidth()
window.geometry('400x300+%d+%d'%((width-400)/2,(height-300)/2))
w = tk.Spinbox(window, values=(10,20,30,40,50,60))
w.pack()
window.mainloop()
参数
Spinbox(master=None, **options) (class)
master -- 父组件
**options -- 组件选项,下方表格详细列举了各个选项的具体含义和用法:
方法
bbox(index)
-- 返回一个 4 元组(x1, y1, x2, y2)用于描述输入框中 index 参数指定的字符所在的矩形范围
delete(first, last=None)
-- 删除参数 first 到 last 范围内(包含 first 和 last)的所有内容
-- 如果忽略 last 参数,表示删除 first 参数指定的选项
-- 使用 delete(0, "end") 实现删除输入框的所有内容
get()
-- 返回 Spinbox 当前的值
icursor(index)
-- 将光标移动到 index 参数指定的位置
-- 这同时也会设置 "insert" 的值
identify(x, y)
-- 返回给定坐标(x, y)在 Spinbox 中对应的元素名字
-- 返回值可以是:"none"(什么都不是),"buttondown"(向下调节箭头),"buttonup"(向上调节箭头)或 "entry"(输入框)
index(index)
-- 返回与 index 参数相应的选项的序号(例如 e.index("end"))
insert(index, text)
-- 将 text 参数的内容插入到 index 参数指定的位置
-- 使用 insert("insert", text) 将 text 参数指定的字符串插入到光标的位置
-- 使用 insert("end", text) 将 text 参数指定的字符串插入到输入框的末尾
invoke(element)
-- 调用该方法的效果相当于用户点击调节箭头
-- element 参数的值必须是 "buttonup" 或 "buttondown"
scan_dragto(x)
-- 见下方 scan_mark(x)
scan_mark(x)
-- 使用这种方式来实现输入框内容的滚动
-- 需要将鼠标按下事件绑定到 scan_mark(x) 方法(x 是鼠标当前的水平位置),然后再将
selection('from', index)
-- 设置选中范围的起始位置是 index 参数指定的值
selection('to', index)
-- 设置选中范围的结束位置是 index 参数指定的值
selection('range', start, end)
-- 设置选中范围是 statr 到 end 参数之间的值
selection_adjust(index)
-- 该方法是为了确保输入框中选中的范围包含 index 参数所指定的字符
-- 如果选中的范围已经包含了该字符,那么什么事情也不会发生
-- 如果选中的范围不包含该字符,那么会从光标的位置将选中的范围扩展至该字符
selection_clear()
-- 取消选中状态
selection_element(element=None)
-- 该方法用于“设置”或“获取”选择范围
-- 如果给 element 参数赋值,那么表示设置选择范围
-- 否则表示获得当前的选择范围