2009-08-12 6 views
3

GTK에서 텍스트 요소의 글꼴 크기를 쉽게 변경할 수 있습니까? 지금 내가 할 수있는 최선의 바보 같은과, 라벨에 set_markup을 할 수 있습니다 :GTK에서 글꼴 크기를 변경하려면 어떻게해야합니까?

lbl.set_markup("<span font_desc='Tahoma 5.4'>%s</span>" % text) 

이 1) 글꼴을 설정하는 저를 필요, 2) 오버 헤드가 많은 것 같아 (마크 업을 구문 분석 할 필요), 3) 버튼 등의 글꼴 크기를 변경하는 것이 짜증나게됩니다. 더 좋은 방법이 있습니까?

+0

오늘 font_desc가 글꼴 크기만으로 작동한다는 것을 알게되어 놀랐습니다. 그것은 나에게 명백하지 않았다. –

답변

7

:

PyGTK에서
gtk_widget_modify_font(lbl, pango_font_description_from_string("Tahoma 5.4")); 

, 내가 뭔가처럼 생각

style "font" 
{ 
font_name = "Corbel 8" 
} 
widget_class "*" style "font" 
gtk-font-name = "Corbel 8" 
: (다음, 구글 질문되고, "gtkrc 글꼴"쿼리하여 gtkrc 파일의 다음 코드를 가지고 this ubuntu forums link 우리에게 가져다) gtkrc이 작업을 떠날 것

(사용자가 필요로하는 것으로 글꼴을 바꿉니다)

사용자는 일관된 경험을 얻을 수 있으며 코드를 훑어 보지 않고도 쉽게 설정을 변경할 수 있습니다. 개인 구성 관련 코드를 유지 관리하는 오버 헤드. widget_class에 대한보다 정확한 정의가있는 경우이 설정을보다 구체적으로 설정할 수 있음을 알고 있습니다.

다른 플랫폼에서는 YMMV이지만 GTK를 사용하는 경우 AFAIK이 파일은 항상 일부 위치에 있으며 사용자가 프레젠테이션 세부 사항을 담당 할 수 있습니다.

+0

내 응용 프로그램에 맞춤 gtkrc 파일을 사용할 수 있습니까? 그렇다면 어떻게 할 수 있습니까? – Claudiu

+1

여기에서 아이디어를 시도해보십시오. http://www.daa.com.au/pipermail/pygtk/2008-December/016359.html –

+0

@AndrewY, 답변 해 주셔서 감사합니다. 이것은 오늘 나를 도왔다. – ECC

3

C에서, 당신은 할 수 있습니다 : 당신이 당신의 응용 프로그램 (들)에 글꼴 전체 변경하려는 경우 나 '

pangoFont = pango.FontDescription("Tahoma 5.4") 
lbl.modify_font(pangoFont) 
+0

C에서 pango 글꼴 설명은 사용 후'pango_font_description_free()'로 해제해야하기 때문에 메모리 누수가 발생합니다 (이것은'pango_font_description_from_string()'문서에서 분명하지 않습니다). 그 외에도 가능한 솔루션입니다. –