Python GUI编程利器:Tkinker中的微调节器和滑块(6)

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

和猫妹学Python,一起趣味学编程。

今日目标

实现下面效果:

微调节器(Spinbox类)

扫描二维码关注公众号,回复: 16968842 查看本文章

微调节器可以通过箭头调整所需的数值。

创建微调节器对象语法格式:

Spinbox(master,background,from_,to,value,increment,relief,command,textvariable,xscrollcommand)

master表示微调节器的父容器

background表示微调节器的背景颜色

from_表示微调节器可获取的最大值

to表示微调节器可获取的最小值

value表示微调节器的可选值

increment表示微调节器的步长

relief表示微调节器的边框样式,其值包括flat(默认),sunken,raised,groove,ridge

command表示微调节器关联的函数,被单击时执行

textvariable用于修改微调节器中输入框的的内容,必须和Variable类型变量绑定

xcrollcommand用于绑定水平方向上的滚动条

参考代码:

import tkinter as tk
root = tk.Tk()root.title('微调节器(Spinbox类)')root.geometry('500x400+20+20')root.resizable(width=False, height=False)
def onclick():    print('你选择的是',var2.get())
spinbox1 = tk.Spinbox(root, from_=0, to=10)spinbox1.pack()
var2 = tk.StringVar() spinbox2 = tk.Spinbox(root, values=('刀白凤','甘宝宝','秦红棉','阮星竹','王夫人','康敏'),command=onclick,textvariable=var2)spinbox2.pack()root.mainloop()

滑块(Scale类)

滑块可以通过滑块方式调整所需的数值。

创建滑块对象语法格式:

Scale(master,background,from_,to,digits,tickinterval,resolution,showvalue,orient,relief,length,command,variable)

Scale(master,background,from_,to,digits,tickinterval,resolution,showvalue,orient,relief,length,command,variable)

master表示滑块的父容器

background表示滑块的背景颜色

from_表示滑块最顶端的值

to表示滑块最底端的值

digits表示滑块刻度所显示数字的位数

tickinterval表示设置滑块是否显示刻度

resolution表示滑块滑动步长

showvalue用于设置是否显示滑块旁边的数字

orient用于设置滑块的方向,hoizontal和vertical

relief表示滑块的边框样式,其值包括flat(默认),sunken,raised,groove,ridge

length表示滑块的长度

command表示与滑块关联的函数,当滑块发生改变时所执行的函数

variable表示与滑块相关联的Variable类型变量,用于存放滑块最新位置

参考代码:​​​​​​​

import tkinter as tk
def onclick(select_value):    print('你选择的是',var2.get(),select_value)            if __name__ == '__main__':    root = tk.Tk()    root.title('滑块(Scale类)')    root.geometry('500x400+20+20')    root.resizable(width=False, height=False)
    tk.Scale(root, from_=0, to=100, ).pack()        var2 = tk.IntVar()    tk.Scale(root, from_=0, to=200, orient="horizontal", tickinterval=20, resolution=1, length=300,command=onclick,variable=var2).pack()    root.mainloop()

怎么样?

你学会了吗?

好了,我们今天就学到这里吧!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!

猜你喜欢

转载自blog.csdn.net/parasoft/article/details/131542640