小白学tkinter(Spinbox组件)

来源:互联网 发布:淘宝上怎么卖点卡 编辑:程序博客网 时间:2024/05/17 04:58

Spinbox组件是Entry的升级版,可以从指定范围内的值中选一个,可以通过范围或者元组指定这些内容。

'''最基本的用法~!'''from tkinter import *root = Tk()s1 = Spinbox(root,from_ = 0,to = 10)s1.pack()s2 = Spinbox(root,values = ('A','B','C','D'))s2.pack()mainloop()

这里写图片描述


#与Entry类似,但可以指定输入范围值'''1.创建一个Spinbox'''from Tkinter import *root = Tk()Spinbox(root).pack()root.mainloop()#只是创建了一个Spinbox,其它的什么也做不了,与Scale不同,Scale使用缺省值就可以控制 值的改变。'''2.设置Spinbox的最大、最小值和步距值'''# -*- coding: cp936 -*-from tkinter import *root = Tk()Spinbox(root,        from_ = 0,      #设置最小值        to = 100,       #设置最大值        increment = 5   #设置增量值为5,这个与Scale的resolution意思相同        ).pack()root.mainloop()'''3.设置Spinbox的值,设置属性values,设置此值后,每次更新值将使用values指定的值,'''# -*- coding: cp936 -*-from tkinter import *root = Tk()sb = Spinbox(root,             values = (0,2,20,40,-1),             increment = 2             )sb.pack()# 打印当前的Spinbox的值,为一tupleprint(sb['values'])root.mainloop()#显示的第一个值为0,up按钮则为2,20,40,-1,不再是增2操作,它会使用tuple的索引递增,至到tuple的最后一个项时,将不再增加;#down按钮与up按钮恰好相反,它使用tuple的索引递减'''4.Spinbox绑定变量 '''# -*- coding: cp936 -*-from tkinter import *root = Tk()v = StringVar()sb = Spinbox(root,             values = (0,2,20,40,-1),             increment = 2,             textvariable = v             )v.set(20)print(v.get())sb.pack()# 打印当前的Spinbox的值,为一tupleroot.mainloop()#上面的代码将变量v与sb绑定,并将Spinbox的初始值设置为20,运行程序,Spinbox的值显示为20,再点击up按钮,此时值变为40,#即tuple的下一个值,再看下面的代码,与这个不同的是设置的值不包含在tuple之内# -*- coding: cp936 -*-from tkinter import *root = Tk()v = StringVar()sb = Spinbox(root,             values = (0,2,20,40,-1),             increment = 2,             textvariable = v             )v.set(200)print(v.get())sb.pack()# 打印当前的Spinbox的值,为一tupleroot.mainloop()#运行程序,显示的值为200,再次点击up按钮,显示的值为2,即虽然Spinbox能将值显示出来,但并不会将200添加到变量中,此时的#索引值依旧为0,因为没有找到200的项。当点击up时,索引值变为1,即显示的值为2。'''5.设置Spinbox的回调函数'''# -*- coding: cp936 -*-from tkinter import *root = Tk()def printSpin():    print('Spinbox')sb = Spinbox(root,                   from_ = 0,         #最小值             to = 10,           #最大值             command = printSpin#回调函数             )sb.pack()root.mainloop()#每次点击Spinbox按钮时就会调用printSpin函数,打印出'Spinbox'。与Scale不同的是:它不需要参数。'''6.打印Spinbox的当前内容,是显示的值,不是values的值。'''# -*- coding: cp936 -*-from tkinter import *root = Tk()def printSpin():    # 使用get()方法来得到当前的显示值    print(sb.get())sb = Spinbox(root,                   from_ = 0,         #最小值             to = 10,           #最大值             command = printSpin#回调函数             )sb.pack()root.mainloop()#每次点击Spinbox按钮时就会调用printSpin函数,打印出Spinbox的当前值。
原创粉丝点击