tkinter labelframe控件 (tkinter text组件)

Spinbox控件也是一种输入控件,它是允许用户用鼠标点击uo/down按钮,或是上箭头/下箭头达到某一数值区间内的增减数值,也可以直接输入数值

import tkinter as tk

win = tk.Tk()
win.title('Spinbox')
win.geometry('300x100')

"""
from_=10         范围的开始值
to=30               范围的末端值
increment=2     每次点击增长或减少的值得量
state           【值必须是 disabled, normal, readonly
                     disabled:无法使用;readonly:只读显示】
repeatdelay     单击up/down按钮变化数字的间隔时间
wrap                单击up/down会再从起始值开始(前提是你已经到最高值或最低值,再点击up或者down)
"""
spin = tk.Spinbox(win, from_=10, to=30, increment=2, state='normal', repeatdelay=300000000, wrap=True)
spin.pack(pady=25)

win.mainloop()

tkinterlabelframe控件,tkinter控件的三种布局管理器

注意事项:wrap的值必须是bool类型的值,但是你传int的数据是不会报错的,字符串类型的汉字或字母就会报如下错误

F:\virtualEnvironment\venv\Scripts\python*ex.e** F:/git/test-python/tkinterGui/tkinterExampleSpinbox.py
Traceback (most recent call last):
  File "F:/git/test-python/tkinterGui/tkinterExampleSpinbox.py", line 32, in <module>
    command=get_data)
  File "D:\Python\Python37\lib\tkinter\__init__.py", line 3646, in __init__
    Widget.__init__(self, master, 'spinbox', cnf, kw)
  File "D:\Python\Python37\lib\tkinter\__init__.py", line 2299, in __init__
    (widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: expected boolean value but got "up"

  • get()方法获取数值
import tkinter as tk

win = tk.Tk()
win.title('Spinbox')
win.geometry('300x100')


def get_data():
    print(spin.get())


spin = tk.Spinbox(win, from_=1, to=5, increment=2, state='normal', repeatdelay=300000000, wrap=True, command=get_data)
spin.pack(pady=25)

win.mainloop()

tkinterlabelframe控件,tkinter控件的三种布局管理器

  • 数值型的数据信息
# 部分代码展示

def get_data():
    print(spin.get())


spin = tk.Spinbox(win, values=(10, 20, 30, 40), state='normal', repeatdelay=300000000, wrap=True, command=get_data)
spin.pack(pady=25)

win.mainloop()
  • 非数值型的数据信息,例如字符串
# 部分代码展示

def get_data():
    print(spin.get())


spin = tk.Spinbox(win, values=('篮球', '足球', '羽毛球', '保龄球'), state='normal', repeatdelay=300000000, wrap=True,
                  command=get_data)
spin.pack(pady=25)

win.mainloop()

未完,待续...

一直在努力,希望你也是 !