一段时间后更改按钮的颜色tcl tk
我想在一段时间后更改单选按钮的颜色。 这是我试过的代码一段时间后更改按钮的颜色tcl tk,tcl,tk,Tcl,Tk,我想在一段时间后更改单选按钮的颜色。 这是我试过的代码 set field1 [radiobutton .field1 -disabledforeground green -state "disabled" ] set field2 [radiobutton .field2 -disabledforeground red -state "disabled"] set field3 [radiobutton .field3 -disabledforeground green -state "dis
set field1 [radiobutton .field1 -disabledforeground green -state "disabled" ]
set field2 [radiobutton .field2 -disabledforeground red -state "disabled"]
set field3 [radiobutton .field3 -disabledforeground green -state "disabled"]
grid $field1 -row 0 -column 0
grid $field2 -row 0 -column 1
grid $field3 -row 0 -column 2
after 2000
$field1 configure -disabledforeground red
grid $field1 -row 0 -column 0
窗口仅在更改颜色后打开
如何在运行时动态地看到颜色的变化?这似乎可以做到这一点。不过,我不确定这是不是最好的办法
set field1 [radiobutton .field1 -disabledforeground green -state disabled]
set field2 [radiobutton .field2 -disabledforeground red -state disabled]
set field3 [radiobutton .field3 -disabledforeground green -state disabled]
grid $field1 $field2 $field3
bind .field1 <Map> [list after 2000 {changeDisabledColor %W red}]
proc changeDisabledColor {w color} {
$w configure -disabledforeground $color
}
set field1[单选按钮.field1-禁用地面绿色-禁用状态]
设置字段2[单选按钮.字段2-禁用地面红色-状态禁用]
设置字段3[单选按钮.字段3-禁用地面绿色-状态禁用]
网格$field1$field2$field3
bind.field1[2000之后的列表{changeDisabledColor%W红色}]
proc changeDisabledColor{w color}{
$w配置-禁用地面$color
}
对此有几点想法:
在2000年之后
表示命令在返回之前休眠两秒钟,在此期间,gui没有响应after 2000
script表示命令在计划事件在两秒钟内发生后立即返回Map
事件,但在计算其大小和位置之前。如果想要对窗口的外观进行一些配置,那么这是一个很好的事件.field1
的处理程序不必是对命令过程的调用:bind.field1[2000年后的列表{%W configure-disabledforeground red}]
也应该可以工作。在我的示例中使用这样的调用通常是一个好主意,因为这通常更便于以后构建文档:,,,这似乎可以解决问题。不过,我不确定这是不是最好的办法
set field1 [radiobutton .field1 -disabledforeground green -state disabled]
set field2 [radiobutton .field2 -disabledforeground red -state disabled]
set field3 [radiobutton .field3 -disabledforeground green -state disabled]
grid $field1 $field2 $field3
bind .field1 <Map> [list after 2000 {changeDisabledColor %W red}]
proc changeDisabledColor {w color} {
$w configure -disabledforeground $color
}
set field1[单选按钮.field1-禁用地面绿色-禁用状态]
设置字段2[单选按钮.字段2-禁用地面红色-状态禁用]
设置字段3[单选按钮.字段3-禁用地面绿色-状态禁用]
网格$field1$field2$field3
bind.field1[2000之后的列表{changeDisabledColor%W红色}]
proc changeDisabledColor{w color}{
$w配置-禁用地面$color
}
对此有几点想法:
在2000年之后
表示命令在返回之前休眠两秒钟,在此期间,gui没有响应after 2000
script表示命令在计划事件在两秒钟内发生后立即返回Map
事件,但在计算其大小和位置之前。如果想要对窗口的外观进行一些配置,那么这是一个很好的事件.field1
的处理程序不必是对命令过程的调用:bind.field1[2000年后的列表{%W configure-disabledforeground red}]
也应该可以工作。在我的示例中使用这样的调用通常是一个好主意,因为这通常更便于以后构建