我需要创建一个带有输入行和一个按钮的窗口,它将像这样工作:
该按钮将被标记为“CAPS”,当按下它时,输入行上的文本将变为大写字符。同时按钮标签将变为“小”,当再次按下时,输入行中的所有字符都将变为小写字符,按钮将再次标记为“大写”,重置其功能。
如果“算法”非常基础,那么我在 tcl 中遇到的最大困难就是这个语法,看起来有点奇怪:
#!/usr/bin/env wish
pack [entry .e]
pack [button .b -text "Uppercase" -command "ToggleCase"]
proc ToggleCase {} {
set temp [.e get]
.e delete 0 end
if {[.b cget -text] eq "Uppercase"} {
.e insert 0 [string toupper $temp]
.b configure -text "Lowercase"
} else {
.e insert 0 [string tolower $temp]
.b configure -text "Uppercase"
}
}