只是制作一个非常简单的Tcl / Tk程序来学习,但我遇到了一些麻烦。
点击时我需要按一个按钮切换颜色,所以它会开始变红,点击它会变成绿色,再次点击会变回红色。
我已经将它从红色变为绿色,但我不知道如何让它从另一个方向回归。 这样做的最佳方式是什么?
答案 0 :(得分:2)
这不是很难(除了在OSX上,这种事情直接违反平台UI指南)你只需要使用合适的回调:
button .b -background red -command [list toggleTheButton .b]
set state(.b) 1
proc toggleTheButton w {
global state
if {$state($w)} {
$w configure -background green
} else {
$w configure -background red
}
set state($w) [expr {!$state($w)}]
}
当您需要切换时,请考虑使用checkbutton
,因为用户可以更快地理解它。