Spinbox 組件類似于Entry,但可以選擇固定的值
- 創(chuàng)建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()

- 指定數(shù)據(jù)
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()
參數(shù)
Spinbox(master=None, **options) (class)
master -- 父組件
**options -- 組件選項,下方表格詳細列舉了各個選項的具體含義和用法:





方法
bbox(index)
-- 返回一個 4 元組(x1, y1, x2, y2)用于描述輸入框中 index 參數(shù)指定的字符所在的矩形范圍
delete(first, last=None)
-- 刪除參數(shù) first 到 last 范圍內(nèi)(包含 first 和 last)的所有內(nèi)容
-- 如果忽略 last 參數(shù),表示刪除 first 參數(shù)指定的選項
-- 使用 delete(0, "end") 實現(xiàn)刪除輸入框的所有內(nèi)容
get()
-- 返回 Spinbox 當前的值
icursor(index)
-- 將光標移動到 index 參數(shù)指定的位置
-- 這同時也會設置 "insert" 的值
identify(x, y)
-- 返回給定坐標(x, y)在 Spinbox 中對應的元素名字
-- 返回值可以是:"none"(什么都不是),"buttondown"(向下調節(jié)箭頭),"buttonup"(向上調節(jié)箭頭)或 "entry"(輸入框)
index(index)
-- 返回與 index 參數(shù)相應的選項的序號(例如 e.index("end"))
insert(index, text)
-- 將 text 參數(shù)的內(nèi)容插入到 index 參數(shù)指定的位置
-- 使用 insert("insert", text) 將 text 參數(shù)指定的字符串插入到光標的位置
-- 使用 insert("end", text) 將 text 參數(shù)指定的字符串插入到輸入框的末尾
invoke(element)
-- 調用該方法的效果相當于用戶點擊調節(jié)箭頭
-- element 參數(shù)的值必須是 "buttonup" 或 "buttondown"
scan_dragto(x)
-- 見下方 scan_mark(x)
scan_mark(x)
-- 使用這種方式來實現(xiàn)輸入框內(nèi)容的滾動
-- 需要將鼠標按下事件綁定到 scan_mark(x) 方法(x 是鼠標當前的水平位置),然后再將 <motion> 事件綁定到 scan_dragto(x) 方法(x 是鼠標當前的水平位置),就可以實現(xiàn)輸入框在當前位置和 sacn_mack(x) 指定位置之間的水平滾動
selection('from', index)
-- 設置選中范圍的起始位置是 index 參數(shù)指定的值
selection('to', index)
-- 設置選中范圍的結束位置是 index 參數(shù)指定的值
selection('range', start, end)
-- 設置選中范圍是 statr 到 end 參數(shù)之間的值
selection_adjust(index)
-- 該方法是為了確保輸入框中選中的范圍包含 index 參數(shù)所指定的字符
-- 如果選中的范圍已經(jīng)包含了該字符,那么什么事情也不會發(fā)生
-- 如果選中的范圍不包含該字符,那么會從光標的位置將選中的范圍擴展至該字符
selection_clear()
-- 取消選中狀態(tài)
selection_element(element=None)
-- 該方法用于“設置”或“獲取”選擇范圍
-- 如果給 element 參數(shù)賦值,那么表示設置選擇范圍
-- 否則表示獲得當前的選擇范圍