繁体   English   中英

如何使Tcl / Tk按钮的行为像单选按钮?

[英]How can I make Tcl/Tk buttons behave like radiobuttons?

根据ActiveTcl 8.5文档:
ttk :: radiobutton窗口小部件以组的形式使用,以显示或更改一组互斥的选项。 单选按钮链接到Tcl变量,并具有关联的值; 单击单选按钮时,它将变量设置为其关联的值。
还有更笼统的定义:
您可以使用单选按钮进行互斥设置。 单击一个会导致其他任何已被按下的弹出,就像在旧的汽车收音机中一样。

我真的更喜欢使用按钮的外观而不是单选按钮。 如何在一组按钮中实现单选按钮的相同行为?
我在http://wiki.tcl.tk/17899找到了有关切换按钮的信息,但它们的行为更像是复选按钮。

任何见解都非常真实。 谢谢

单选按钮的-indicatoron属性设置为false。

您可以设置按钮的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"}]
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM