BWidget ComboBox小部件允许您使用值填写输入字段。我只想在该字段中强制执行特定字符(例如,仅 [a-z0-9])。为此,我想使用 Tcl/Tk 的-validatecommand(或简称 -vcmd),就像使用标准的“入口”小部件一样:
proc ValidateMyEntry { value } {
# Check if it's alphanum string
if ![regexp {^[-a-zA-Z0-9]*$} $value] {
return 0
}
return 1
}
entry .my_entry -width 20 -textvariable myVar -validate key -vcmd {ValidateMyEntry %P}
似乎 ComboBox 不支持 -validatecommand。最好的解决方法是什么?