根据 ActiveTcl 8.5 文档:
TTK::单选按钮小部件在组中用于显示或更改一组互斥选项。单选按钮链接到 Tcl 变量,并具有关联的值;单击单选按钮时,它会将变量设置为其关联值。
还有一个更一般的定义:
您可以使用单选按钮进行互斥设置。单击一个会导致弹出任何其他被按下的内容,就像在旧汽车收音机上一样。
我真的很喜欢使用按钮的外观而不是单选按钮。如何在一组按钮中实现与单选按钮相同的行为?
我在 http://wiki.tcl.tk/17899 上发现了关于切换按钮的信息,但它们的行为更像是复选按钮。
任何见解都非常受人赞赏。谢谢
您可以设置按钮的relief
以保持其下沉状态。
set colours {red blue green}
foreach c $colours {
pack [button .$c -text $c -command [list pushed $c]]
}
proc pushed colour {
puts $colour
set label [.$colour cget -text]
foreach c $::colours {
.$c configure -relief [expr {$c eq $label ? "sunken" : "raised"}]
}
}
将单选按钮的 -indicatoron 属性设置为 false。