2012-04-17 3 views
0

OS X에서 ttk.Style().configure('TLabelframe.label', font='helvetica 14 bold')는 ttk.LabelFrame 위젯에서 사용하는 글꼴을 변경합니다. Windows에서 ttk.Style().configure('TLabelframe.label', font='arial 14 bold')은 동일한 글꼴 정보를 ttk.Style().lookup('TLabelframe.label','font')으로 반환하는 것 외에 아무런 영향을 미치지 않습니다.Windows에서 ttk 테마 위젯을 사용하여 글꼴을 변경하는 방법

파생 스타일을 만들고, TkDefaultFont를 사용하여 크기를 변경하고, 다른 위젯 (TButton.label, TCheckbutton.label)을 사용하여 다른 글꼴 이름과 형식을 시도했습니다. 지금까지 내가 시도한 것에 상관없이 항상 TkDefaultFont를 기본 크기로 사용하는 것으로 보입니다.

python27/tcl/tk8.5/ttk/xpTheme.tcl (Windows의 기본 테마)에서 글꼴 설정을 변경하면 표시되는 글꼴이 변경됩니다. 테마 설정에서 -font TkDefaultFont 설정을 제거해도 표시된 내용은 변경되지 않습니다.

이것이 실제로 어떻게 작동하는지에 대한 제안 사항이 있습니까?

편집 : 이전에 레이블 위젯의 글꼴을 변경하지 않았고 실제로 작동합니다.

답변

0

이 영역의 코드는 버그이며 티켓을 열 것이라고 믿습니다. 'TLableframe.Label'사용 ('Label'의 대문자 'L'은 'TButton.label'과 'TButton.Label'이 작동하지 않지만 'TButton'은 'TCheckbutton'과 동일합니다. 추가를 포함한 모든 조합 'TEntry', '텍스트 영역을.'

0

그것은 ttk.LabelFrame에 대한 모양의 글꼴을 변경 할 수없는 별도의 ttk.Label 위젯을 만든 다음 labelwidget= 피연산자를 사용하여 LabelFrame에 할당해야합니다. Label 위젯에서 LabelFrame에 반영 될 글꼴/스타일을 설정할 수 있습니다. Label 위젯에 대한 Geometry 관리자를 호출하지 않고 인스턴스를 생성 한 다음 LabelFrame에 할당하십시오.

이렇게하면 원하는 거의 모든 위젯을 지정할 수 있습니다. 즉, uch를 ttk.Checkbutton으로 변경하십시오. LabelFrame에서 하위 컨트롤의 상태를 제어하려면 이 코드를 작성해야하지만 시각적으로는 Checkbutton의 상태에 따라 하위 컨트롤을 사용하거나 사용하지 않도록 설정해야합니다.

출처 : http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-LabelFrame.html

관련 문제