ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python GUI tkinter编程之Spinbox篇

2020-01-22 16:40:52  阅读:445  来源: 互联网

标签:tkinter Python GUI Spinbox 指定 printSpin sb root


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有