テキストフィールドをクリアするには、delete()
を使用できます。 Entryウィジェットでコンテンツを最初から最後まで削除するには、インデックスを "0"から "end"まで定義する必要があります。テキストウィジェットでは、行と文字のインデックスを定義する必要があります。 delete()
は、行と列を示す文字列を使用します。したがって、 "1.12"が最初の行と12番目の文字になります。 @BryanOakleyによって指摘されたようにdelete()
は1.0の数値をとりますが、値/インデックスが他の数値に対して正しく読み込まれないように文字列を使用してください。
変数がfloatであるかどうかをチェックするためにisinstance()
を使用することができます:変数の型がfloatであるかどうかをチェックするために
# for Entry widget clear.
textboxName.delete("0", "end")
# for Text widget clear.
textboxName.delete("1.0", "end")
。
x = 5
y = 5.0
if isinstance(x, float) == True:
print(x,"Is float")
else:
print(x,"Is not a float")
if isinstance(y, float) == True:
print(y,"Is float")
else:
print(y,"Is not a float")
結果:一方
5 Is not a float
5.0 Is float
あなたがtry/except
を使用することができます。人々はダックタイピング(許し対許可を求める)を使うと言うでしょう。浮動小数点が常に表示されることを期待している場合は、それを試してみてください。それが予想されていたフロートを取得しないと、例外がスローされます。
x = 5
y = "String of text"
try:
print(float(x))
except:
print(x,"Cannot be a float")
try:
print(float(z))
except:
print(y,"Cannot be a float")
結果:
5.0
String of text Cannot be a float
テキストウィジェットインデックスは文字列ではなく、浮動小数点数です。 '1.0 'は無害ですが、混乱を招く可能性があります。インデックス "1.10"は1行10文字を表しますが、浮動小数点値 "1.10"は1行1行と解釈されます。インデックスには常に文字列を使用する傾向があります。 –
@BryanOakleyそれを指摘していただきありがとうございます。今すぐ修正する。 –