小白学tkinter(Spinbox组件)

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的值,为一tuple
print(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的值,为一tuple
root.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的值,为一tuple
root.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的当前值。
Tkinter是Python标准库的一个模块,用于创建图形用户界面(GUI)应用。它提供了丰富的基本组件,使得初者可以轻松地开发跨平台的桌面应用程序。Tkinter的主要组件包括: 1. **Toplevel窗口** (或根窗口):这是最顶层的窗口,所有其他窗口都会在其上创建。 2. **Frame**:是一个容器,可以包含多个控件,并支持布局管理。 3. **Canvas**:用于绘制图形,比如线条、矩形、图片和文本等。 4. **Button**:用户可以通过点击交互的控件,通常带有标签文本。 5. **Label**:显示静态文本,不会响应用户输入。 6. **Entry**或`Text`:用于文本输入,Entry主要用于单行输入,Text则可多行编辑。 7. **Checkbutton** 和 `Radiobutton`:提供复选框和单选按钮。 8. **Listbox** 和 `Scrollbar`:列表框用来显示可滚动的选择列表,Scrollbar用来控制滚动。 9. **Menubutton** 和 `Menu`:创建下拉菜单。 10. **Combobox** 或 `OptionMenu`:结合了按钮和下拉列表,供用户选择预设选项。 11. **Scrollbar**:用于处理滚动条。 12. **Message Box**: 显示信息对话框,如警告、确认或错误提示。 13. **PanedWindow**: 可以分割窗口成多个部分,每个部分可以独立调整大小。 Tkinter时,理解如何使用这些组件及其布局管理(如`grid`、`pack`或`place`)至关重要。同时,掌握事件绑定(如`bind()`方法)以便处理用户的交互动作也是关键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值