2013-04-30 4 views
0

파이썬 3에서 스크립트가 붙어 있습니다. tkinter의 기존 레이블에 추가 텍스트를 추가하고 싶습니다. 레이블 tkinter에 텍스트 추가하기

나는이 시도 :

def labelConfig(string,append=False): 
    if append: 
     label.configure(text+=string) 
    else: 
     label.configure(text=string) 

하지만 ... 어떻게이 제대로 할 수 컴파일되지 않습니다?

답변

3

이것은 tkinter 문제가 아니며 모든 Python에 적용됩니다. 함수 호출에서 위치 인수를 설정할 때 +=을 사용할 수 없습니다. 대신 값을 가져 와서 원하는대로 수정 한 다음 위젯에 새 값을 할당해야합니다.

예를 들어

:

브라이언 오클리의 대답은 당신이 사전의 값으로 레이블의 텍스트를 액세스 할 경우, 그것은 또한 가능 +=를 사용하는 차별화
def labelConfig(string,append=False): 
    if append: 
     text = label.cget("text") + string 
     label.configure(text=text) 
    else: 
     label.configure(text=string) 
0

text+=string은 성명이므로 아무 것도 반환하지 않습니다. 먼저 레이블에서 값을 가져온 다음 문자열을 연결 한 다음 인수로 전달해야합니다.

3

:

def labelConfig(string,append=False): 
    if append: 
     label['text'] += string 
    else: 
     label['text'] = string 

모든 옵션 configure으로 가져 오거나 설정할 수있는 문법은 widget['option'] = value과 같은 문법을 사용합니다. 이와 같은 상황에서 사용할 수 있습니다.