Py学习  »  Python

【基础】学习笔记28-python3 tkinter GUI编程-实操10

Alyna_C • 4 年前 • 167 次点击  

>>进阶


Spinbox

界面:

初始界面


界面中的每个输入栏中的上下按钮均可使用,其中第四个输入栏没有初始显示值:


每个输入栏的步长不一,可自行设置。其中,步长可设置为整数,也可以为小数;可以等差,也可以自行设定步长间隔。

代码:

import tkinter as tk

win = tk.Tk()

win.geometry('300x200+200+200')

frame1 = tk.Frame(win)

frame2 = tk.Frame(win)

frame3 = tk.Frame(win)

frame4 = tk.Frame(win)

sb1 = tk.Spinbox(frame1,

bg='light blue',  # 背景色

fg='black',  # 字体色

bd=10,  # 框宽

from_=0,  # 最大值

to=10,  # 最小值

increment=2  # 步长

).pack()

sb2 = tk.Spinbox(frame1,

bg='pink',  # 背景色

bd=5,  # 框宽

values=(0, 2, 20, 40, 60)

).pack()

v = tk.StringVar()

sb3 = tk.Spinbox(frame1,

bg='light green',  # 背景色

values=(0, 2, 20, 40, 60),

increment=2,

textvariable=v  # 设置变量

)

v.set(20)

sb3.pack()

def printSpin():

sb4.insert(tk.END, '.00')  # 每项后添加.00表示精度

print(sb4.get())

sb4 = tk.Spinbox(frame1,

bg='lavender',  # 淡紫色

from_=0,

to=10,

command=printSpin  # 回调函数

)

sb4.pack()

# 每次点击按钮就会调用函数printSpin。不需要参数

sb4.delete(0)  # 删除指定位置数据,此处为不显示默认数据

frame1.grid(row=1, column=1, pady=5)

frame2.grid(row=2, column=1, pady=5)

frame3.grid(row=3, column=1, pady=5)

frame4.grid(row=4, column=1, pady=5)

win.mainloop()

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/99888