Python的标准Tk GUI工具包的接口
tkinter系列文章
Python tkinter (2) —— Button标签
Spinbox
数值范围控件
简单示例
创建一个简单的0-100切换数值的输入框。
示例如下:
import tkinter
tk = tkinter.Tk()
tk.title('简单示例')
tk.geometry('300x200+200+20')
sp1 = tkinter.Spinbox(tk, from_=0, to=100)
sp1.pack()
tk.mainloop()
效果如下:
步长
increment:步长, 默认为1;设置后则递增或递减相应数值。
示例如下:
sp1 = tkinter.Spinbox(tk, from_=0, to=100, increment=5)
Values
数值列表,设置后from_和to及increment设置将不在生效,数值将覆盖为values设置数值。
所以最好不要与from_ to increment同时使用,此控件很少使用。
示例如下:
sp1 = tkinter.Spinbox(tk, from_=0, to=100,
increment=5,
values=(2, 4, 6, 8, 10))
效果如下:
绑定变量
涉及到赋值和取值就需要先绑定变量。
示例如下:
# 绑定变量
spv = tkinter.StringVar()
sp1 = tkinter.Spinbox(tk, from_=0, to=100,
textvariable=spv)
赋值
使用绑定的变量来设置控件的值为22.
示例如下:
spv.set(22)
取值
使用绑定的变量来获取控件的值。
示例如下:
print(spv.get())
绑定事件
绑定事件后只要值发生改变就会触发绑定的函数。
示例如下:
def update_handle():
print(spv.get())
# 绑定变量
spv = tkinter.StringVar()
sp1 = tkinter.Spinbox(tk, from_=0, to=100,
textvariable=spv,
command=update_handle)
效果如下:
点击修改值后,会在控制台打印最新改变的值。
总结
本文主要是Python tkinter Spinbox数值范围控件介绍及使用示例。