Tcl / Tk脚本在点击时制作一个切换颜色的按钮?

时间:2012-05-08 04:33:22

标签: tcl tk

只是制作一个非常简单的Tcl / Tk程序来学习,但我遇到了一些麻烦。

点击时我需要按一个按钮切换颜色,所以它会开始变红,点击它会变成绿色,再次点击会变回红色。

我已经将它从红色变为绿色,但我不知道如何让它从另一个方向回归。 这样做的最佳方式是什么?

1 个答案:

答案 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,因为用户可以更快地理解它。