大文字の入力を強制したい入力ボックスのあるTcl/Tkウィンドウがあります。つまり、文字を入力する場合は、単に小文字の入力を拒否するのではなく、入力フィールドに大文字で表示するようにします。
Tcl / Tk wikiのエントリのドキュメントとエントリ検証ページを見てきましたが、検証の例はたくさんありますが、フィルタリングキーの例が見つからないため、正しい場所を探している必要はありません。大文字と小文字を変更するための入力。
私が得ることができた最も近いものは次のようなものです:
entry .message -validate key -validatecommand {
.message insert %i [string toupper "%S"]
return 0
}
これにより、入力された最初の文字は強制的に大文字になりますが、後続の文字は変換されません。実際、検証スクリプトは最初の文字の後にまったく呼び出されません。テスト用のコマンドを省略する.message insert
と、文字ごとに検証スクリプトが呼び出されます。