GUIで入力制限をしてみたい件
運動や栄養素記録入力になると40回とか
たんぱく質を126g含んだ食品など
最大でも5桁以上入力する事がないであろう数値の場合に
入力制限をかけてしまえば楽になると思い立った
するとpythonに標準で入っているGUIモジュール「tkinter」に
入力制限が出来るオプションが付いている模様
それがvalidateオプションとvalidatecommmandオプションの2種類。
validateはテキストボックスに入力されたテキストを検証する
タイミング(つまりトリガー)を指定する
validateで指定できる値が決められている
それが次の表
値 |
説明 |
---|---|
none |
デフォルト:検証しない |
focusin |
フォーカスが入ったタイミング |
focusout |
フォーカスが入ったタイミングが外れたタイミング |
focus |
focusinとfocusinの両方のタイミング |
key |
テキストボックス内の文字列が変化したタイミング |
all |
上記の全てのタイミング |
keyを指定する・・というイメージになる
テキスト検証時に、入力された文字数やテキストの種類を確認する。
指定した検証のタイミングが来たら、
validatecommmandで指定されたコールバック関数が実行される。
とりあえずここまで