单选按钮在行返回错误中单击两次

时间:2013-08-09 16:10:07

标签: radio-button tcl

我正在使用5个单选按钮,在调用它时会创建特定于每个按钮的新小部件。但是,一旦创建了窗口小部件,就无法使用相同的路径名创建相同的窗口小部件,或者显示错误。单选按钮可以多次单击,从而产生前面提到的错误。无论如何要么限制连续两次按下相同的单选按钮,要么阻止窗口重新创建?

2 个答案:

答案 0 :(得分:1)

使用[winfo exists]。像这样的东西:

radiobutton .r1 -text 1 -value 1 -variable radiovalue -command make_widget
radiobutton .r2 -text 2 -value 2 -variable radiovalue -command make_widget
pack .r1 .r2
proc make_widget {} {
    global radiovalue
    set name .widget_$radiovalue
    if {[winfo exists $name]} {
        puts "$name already exists"
    } else {
        pack [label $name -text $name]
    }
}

答案 1 :(得分:0)

您可以禁用按下的单选按钮,直到按下另一个按钮,或者您可以在创建任何小部件之前删除现有的小部件组。