Tkinter 教程-Python Tkinter 滑块控件
滑块控件用于在 Python 应用程序中实现图形滑块,使用户可以在滑块上滑动并从显示的值范围中选择一个值。
我们可以控制滑块的最小值和最大值,以及滑块的分辨率。它在用户被强制从给定范围的值中选择一个时,提供了 Entry 小部件的替代方案。
使用滑块小部件的语法如下。
语法
w = Scale(top, options)
以下是可能的选项列表。
SN | 选项 | 描述 |
---|---|---|
1 | activebackground | 小部件具有焦点时的背景颜色。 |
2 | bg | 小部件的背景颜色。 |
3 | bd | 小部件的边框大小。默认为2像素。 |
4 | command | 设置为每次移动滑块时调用的过程。如果滑块移动得很快,当它安定下来时就会回调。 |
5 | cursor | 将鼠标指针更改为分配给此选项的光标类型。可以是箭头、点等。 |
6 | digits | 如果用于控制滑块数据的控制变量是字符串类型,则使用此选项指定在将数字滑块转换为字符串时要显示的数字位数。 |
7 | font | 小部件文本的字体类型。 |
8 | fg | 文本的前景颜色。 |
9 | from_ | 用于表示小部件范围的一端。 |
10 | highlightbackground | 当小部件没有焦点时的高亮颜色。 |
11 | highlighcolor | 当小部件具有焦点时的高亮颜色。 |
12 | label | 这可以设置为一些文本,作为滑块的标签显示。如果滑块是水平的,则显示在左上角;如果滑块是垂直的,则显示在右上角。 |
13 | length | 表示小部件的长度。如果滑块是水平的,则表示X维度;如果滑块是垂直的,则表示Y维度。 |
14 | orient | 可以根据滑块的类型设置为水平或垂直。 |
15 | relief | 表示边框的类型。默认为FLAT。 |
16 | repeatdelay | 此选项告诉在滑块开始沿该方向重复移动之前按住按钮的持续时间。默认值为300毫秒。 |
17 | resolution | 设置为应对滑块值进行的最小更改。 |
18 | showvalue | 默认情况下以文本形式显示滑块的值。我们可以将此选项设置为0以抑制标签。 |
19 | sliderlength | 表示沿滑块长度的滑块窗口的长度。默认值为30像素。但是,我们可以将其更改为适当的值。 |
20 | state | 默认情况下,滑块小部件是活动的。我们可以将其设置为 DISABLED 以使其无响应。 |
21 | takefocus | 默认情况下,焦点通过滑块小部件循环。如果我们不想发生这种情况,可以将此选项设置为0。 |
22 | tickinterval | 滑块值以指定刻度间隔的倍数显示。刻度间隔的默认值为0。 |
23 | to | 表示由滑块表示的范围的另一端的浮点或整数值。 |
24 | troughcolor | 表示滑块的颜色。 |
25 | variable | 表示滑块的控制变量。 |
26 | width | 表示小部件的通道部分的宽度。 |
方法
SN | 方法 | 描述 |
---|---|---|
1 | get() | 用于获取滑块的当前值。 |
2 | set(value) | 用于设置滑块的值。 |
示例
from tkinter import *
def select():
sel = "Value = " + str(v.get())
label.config(text = sel)
top = Tk()
top.geometry("200x100")
v = DoubleVar()
scale = Scale( top, variable = v, from_ = 1, to = 50, orient = HORIZONTAL)
scale.pack(anchor=CENTER)
btn = Button(top, text="Value", command=select)
btn.pack(anchor=CENTER)
label = Label(top)
label.pack()
top.mainloop()
输出: