텍스트 필드를 지우려면 delete()
을 사용할 수 있습니다. Entry 위젯에서 처음부터 끝까지 컨텐츠를 삭제하려면 인덱스를 "0"에서 "end"까지 정의해야합니다. 텍스트 위젯의 경우 행 및 문자 색인을 정의해야합니다. delete()
은 문자열을 사용하여 행과 열을 나타냅니다. 따라서 "1.12"가 첫 번째 행과 12 번째 문자가됩니다. @BryanOakley에 의해 지적 된대로 delete()
은 1.0의 숫자 값을 취할 것이지만 다른 숫자에 대해 값/색인이 잘못 읽히는 것을 막기 위해 문자열을 사용해야합니다.
당신은 변수가 부동인지 아닌지 확인하기 위해 isinstance()
를 사용할 수 있습니다 변수 유형은 부동 소수점 인 경우 확인을 위해
# 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 지적 해 주셔서 감사합니다. 지금 바로 잡아라. –