Tcl “如何制定控制措施”;“以前的”;及;“下一步”;移动缩放小部件滑块?

Tcl “如何制定控制措施”;“以前的”;及;“下一步”;移动缩放小部件滑块?,tcl,scale,tk,Tcl,Scale,Tk,我正在为桌面播放器开发一个用户界面,其中包含所有标准的控件。我想制作一个同样风格的音量控制器: 代码简单,是我的esbo: #!/bin/sh # \ exec wish "$0" "$@" . configure -width 100 -height 50 pack [button .btn1 -text "-" -command { bell }] -side left -fill none pack [scale .scl0 -showvalue 1 -from 0 -to 10

我正在为桌面播放器开发一个用户界面,其中包含所有标准的控件。我想制作一个同样风格的音量控制器:

代码简单,是我的esbo:

#!/bin/sh
# \
exec wish "$0" "$@"

. configure -width 100 -height 50

pack [button .btn1 -text "-" -command { bell }] -side left -fill none

pack [scale .scl0 -showvalue 1 -from 0 -to 10 -resolution 1 -orient horizontal] -side left -fill both

pack [button .btn2 -text "+" -command { bell }] -side right -fill none

到目前为止,我只有这些。我不知道如何通过按下按钮来移动刻度,使其从左向右和从右向左移动。

您只需要为刻度分配一个变量,然后是一个修改该变量的过程。例如:

pack [button .btn1 -text "-" -command {volume -1}] -side left -fill none
pack [scale .scl0 -showvalue 1 -from 0 -to 10 -resolution 1 -orient horizontal \
    -variable currentVolume] -side left -fill both
pack [button .btn2 -text "+" -command {volume 1}] -side left -fill none

proc volume {val} {
    incr ::currentVolume $val
}

您只需要为比例分配一个变量,然后是一个修改该变量的过程。例如:

pack [button .btn1 -text "-" -command {volume -1}] -side left -fill none
pack [scale .scl0 -showvalue 1 -from 0 -to 10 -resolution 1 -orient horizontal \
    -variable currentVolume] -side left -fill both
pack [button .btn2 -text "+" -command {volume 1}] -side left -fill none

proc volume {val} {
    incr ::currentVolume $val
}

答案也适用于
ttk::button
ttk::scale
,它们的样式可以比标准小部件更深入。这对媒体播放器可能很有用……还请注意,单击滑块右侧或左侧的滑块槽将递增或递减小部件变量。@BradLanam我们谈论的是什么变量???这是
-可变当前音量
@DiegoHenrique是的,
变量currentVolume
。答案也适用于
ttk::button
ttk::scale
,它们的样式可以比标准小部件更深入。这对媒体播放器可能很有用……还请注意,单击滑块右侧或左侧的滑块槽将递增或递减小部件变量。@BradLanam我们谈论的是什么变量???这是
-可变当前音量
@DiegoHenrique是的,
变量currentVolume