2013-05-26 1 views
0

python + tkinter에서 레이블의 한 줄당 최대 문자 수를 설정할 수 있습니까? 나는 사용자가 과거에 준 다른 정보에서 가져온 몇 가지 정보가있는 Toplevel 창을 여는 프로그램을 가지고있다. 그것은 unresizable입니다. 왜냐하면 때마다, 그리고 창문이 레이블에 표시된 정보에 비해 너무 작아서 30 자마다 줄 바꿈을 추가하도록 설정할 수 있기 때문에 방황하고 있었기 때문입니다.
일부 레이블 설명서를 살펴 보았지만 기본적으로 발견 된 것은 레이블의 너비를 변경할 수 있다는 것입니다. 필요한 너비가 아니기 때문에 기본적으로 30 번째 이후의 모든 문자가 숨겨집니다.문자열이 너무 큰 경우 레이블 구분선

답변

1

당신은 textwrap.fill()를 사용하여, 자신에게 바꿈에 넣어 수 :

import textwrap 

labeltext = textwrap.fill(labeltext, width=30) 
1

당신이 찾고있는 옵션은 레이블의 텍스트가 여러 줄에 랩해야 할 때 설정하는, wraplength이다. 그러나이 매개 변수는 화면 단위로 표시되며 width은 위젯이 텍스트를 표시 할 경우 텍스트 단위입니다 (따라서 30을 직접 사용할 수는 없습니다).

+1

당신은 쉽게 직접 사용할 수 없지만'tkFont.Font' 인스턴스의'measure' 메소드로 주어진 폰트에서 문자의 폭을 결정하는 것은 쉽습니다. –

관련 문제