只是制作一个非常简单的 Tcl/Tk 程序来学习,但我遇到了一些麻烦。
我需要在单击时使按钮切换颜色,因此它会以红色开始,单击时将变为绿色,如果再次单击将变回红色。
我已经把它从红色变成了绿色,但我不知道如何让它回到另一个方向。做这个的最好方式是什么?
这不是很难(除了在 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)}]
}
当您需要切换时,请考虑使用 acheckbutton
代替,因为用户会更快地理解它。