栄養素記録補助GUIその3
以前、
beta-boostcircit.hatenablog.com
入力制限をInputTextにかけたいので
tkinterの技術を応用して関数を作ろうかとも思ったが
公式のサンプルブック(https://pysimplegui.readthedocs.io/en/latest/)に
入力制限についての記載があった
enable_eventsパラメータを設定することで、それが可能になる模様
SyntaxError: 'continue' not properly in loopは
ループ外でcontinue文を使用した時に出るエラーの事。
そもそもcontinueは、ある特定の条件で、その後の処理をスキップしたい時に使う
具体的に例えると指定した条件が成り立った時に
その後に続くブロックの処理をスキップさせたい場合に使う
なので、continueを使った処理を考える必要がある
len関数って?
引数に指定したオブジェクトの長さや要素の数を取得する
len関数の書式は len(s)と書く
len関数のサンプルコード
print(len("Next week is a trip"))>> 19 print (len(["yes", "no"])) >>> 2
これで引数に指定したオブジェクトの長さや要素の数を取得する事が出来た
表示内容を更新する際はウィジェットに指定されたkeyの値に.update("文字列")を入れることで可能
window['-IN-'].update(values['-IN-'][:-1])
というのは
window['-IN-'].updateで、'-IN-'の値を更新する
(values['-IN-'][:-1])
だと
values['-IN-']から(-1)番目の要素を取り出す
if len(values['-IN-']) == 1 and values['-IN-'][0] == '-':
は
keyのINという値のオブジェクトの長さの取得が1に等しいのと、
INという値の0番目(つまり最初)が「-」に等しい という意味になり、
この文を応用して6文字制限や10文字制限という仕様にしていく
例外処理をtry文で書くと
try: 例外が発生する”かも”知れない処理 except: 例外が発生した時の処理
という形になる
これをもとに入力制限を書いていく事にする