编程语言
首页 > 编程语言> > Python GUI tkinter编程之Spinbox篇

Python GUI tkinter编程之Spinbox篇

作者:互联网

1.第一个Spinbox

#-*-coding:utf-8-*-
'''
与Entry类似,但可以指定输入范围值
第一个Spinbox
'''
from tkinter import *
root = Tk()
Spinbox(root).pack()
root.mainloop()

2.创建Spinbox时指定参数

from:最小值

to:最大值

increment:步距值

#-*-coding:utf-8-*-
'''
创建Spinbox时指定参数
from:最小值
to:最大值
increment:步距值
'''
from tkinter import *
root = Tk()
Spinbox(root, from_ = 0, to = 100,
        increment = 5  #设置增量值为5,这个与Scale的resolution意思相同
        ).pack()
root.mainloop()

3.设置Spinbox的值 values:指定Spinbox序列值,设置此值后,每次更新值将使用values指定的值

#-*-coding:utf-8-*-
'''
设置Spinbox的值
values:指定Spinbox序列值,设置此值后,每次更新值将使用values指定的值
'''
from tkinter import *
root = Tk()
sb = Spinbox(root,
             values = (0, 2, 20, 40, -1),
             increment = 2)
sb.pack()
print(sb['values']) #打印 0 2 20 40 -1
root.mainloop()
#显示的第一个值为0,up按钮则为2,20,40,-1,不再是增2操作,它会使用tuple的索引递增,直到tuple的最后一个项时,将不再增加;
# down按钮恰好与up按钮恰好相反,它使用tuple的索引递减

4.Spinbox绑定变量 textvariable:指定与Spinbox绑定的变量名称

#-*-coding:utf-8-*-
'''
Spinbox绑定变量
textvariable:指定与Spinbox绑定的变量名称
'''
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()
root.mainloop()
#上面的代码将变量v与sb绑定,并将Spinbox的初始值设置为20,运行程序,Spinbox的值显示为20,再点击up按钮,此时值变为40
#即tuple的下一个值,再看下面的代码,与这个不同的是设置的值不包含在tuple之内
#v.set(200)
#运行程序,显示的值为200,再次点击up按钮,显示的值为2,即虽然Spinbox能将值显示出来,但并不会将200添加到变量中,
#此时的索引值依旧为0,因为没有找到200的项,当点击up时,索引值变为1,即显示的值为2

5.设置Spinbox的事件处理函数 command:指定事件处理函数

#-*-coding:utf-8-*-
'''
设置Spinbox的事件处理函数
command:指定事件处理函数
'''
from tkinter import *
root = Tk()
def printSpin():
    print('Spinbox')
sb = Spinbox(root, from_ = 0, to = 10, command = printSpin)
sb.pack()
root.mainloop()

6.打印Spinbox的当前内容 get:此方法取得当前显示的内容

#-*-coding:utf-8-*-
'''
打印Spinbox的当前内容
get:此方法取得当前显示的内容
'''
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的当前值

7.删除Spinbox字符 delete:删除指定索引的字符

#-*-coding:utf-8-*-
'''
删除Spinbox字符
delete:删除指定索引的字符
'''
from tkinter import *
root = Tk()
def printSpin():
    sb.delete(0)
    print(sb.get())

sb = Spinbox(root, values = ("hello", "morning", "apple", "ball"), command = printSpin)
sb.pack()
root.mainloop()

8.在Spinbox指定位置插入文本 insert:在指定的索引位置插入文本

#-*-coding:utf-8-*-
'''
在Spinbox指定位置插入文本
insert:在指定的索引位置插入文本
'''
from tkinter import *
root = Tk()
def printSpin():
    sb.insert(END, '.0') #在每项后面添加.0
    print(sb.get())
sb = Spinbox(root, from_ = 1234, to = 9999, increment = 1, command = printSpin)
sb.pack()
root.mainloop()

qiukapi 发布了38 篇原创文章 · 获赞 5 · 访问量 1万+ 私信 关注

标签:tkinter,Python,GUI,Spinbox,指定,printSpin,sb,root
来源: https://blog.csdn.net/qiukapi/article/details/104070663