Tkinter (16) 拉杆部件 Scale

拉杆部件的创建及其选项

拉杆部件中包含滑块 slider, 滑块槽 trough, 刻度 tick, 标题 label 以及滑块值 value.

import tkinter as tk
parent = tk.Tk()
scale = tk.Scale(parent, option, ...)
选项 说明
activebackground active 时的背景色
bg or background 背景色,点阵图时则为颜色值 0 的颜色
bd or borderwidth 滑块与槽外框的寛度,内定为 2 点素
command 滑块改变时调用的程序, 一个参数为滑块值
cursor 当鼠标移到部件时,所显示的鼠标图示
digits IntVar, DoubleVar (float), StringVar 为滑块值的显示方式
font 标签和注释使用的文本字体
fg or foreground 前景色
from_ 拉杆值范围的起始值, 内定为 0
highlightbackground 非聚焦时的聚焦颜色
highlightcolor 聚焦时的聚焦颜色
highlightthickness 聚焦厚度,内定 1, 0 则无
label 标题字符串, 水平在左上角, 垂直在右上角, 内定为无
length 部件长度, 单位为点素, 内定为 100 点素
orient HORIZONTAL/VERTICAL 水平或垂直方向
relief 花边样式,内定为 FLAT
repeatdelay 直到经过指定时间 (毫秒), 开始重复按下滑块槽, 内定 300ms
repeatinterval 重复间隔,以毫秒为单位重复按下滑块槽, 内定 100ms
resolution 滑块值变动的最小单位值, -1 则为不取小数值
showvalue 是否显示滑块值, 内定为 True
sliderlength 滑块的长度, 内定为 30 点素
sliderrelief 滑块的花边样式,内定为 RAISED
state 部件状态,内定为 NORMAL / ACTIVE / DISABLED
takefocus TAB 键在部件是否会循环焦点,1 则会,内定为空字符串,则仅在具有键绑定下循环焦点
tickinterval 刻度的间隔, 内定为 0, 无刻度
to 浮点拉杆值范围的终止值, 内定为 100
troughcolor 滑块槽的颜色
variable 滑块值变量, IntVar, DoubleVar 或 StrngVar
width 滑块槽寛度,内定为 15 点素

拉杆部件的方法

方法 说明
coords(value=None) 返回滑块值为 value 时, 滑块所在的中心座标, 预设 None 为目前滑块所在的中心座标
get() 返回目前的滑块值
identify(x, y) 返回座标 (x, y) 对应的零件, ‘slider’滑块/‘trough1’前滑块槽/‘trough2’后滑块槽/‘’其他位置
set(value) 设置目前的滑块值

范例视窗及代码

Python

import tkinter as tk

def update(value):
    label.configure(text=f"You drag the slider to value {value}.")

root = tk.Tk()
root.wm_title("Scale Demo")
font = ('Courier New', 20, 'bold')

select = tk.IntVar()
scale = tk.Scale(
    label='Scale Widget', font=font, orient=tk.HORIZONTAL, showvalue=False,
    bg='green', fg='white', tickinterval=20, length=800, width=30,
    troughcolor='blue', variable=select, command=update)
scale.grid(row=0, column=0)

label = tk.Label(text='', width=40, font=font)
label.grid(row=1, column=0)

root.mainloop()
本作品采用《CC 协议》,转载必须注明作者和本文链接
Jason Yang
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!