2013-11-02 3 views
3

내 응용 프로그램의 모든 위젯에 기본 스타일을 설정하고 싶습니다. 나는 this page을 발견하고 set_default_style() 기능이 있다는 것을 읽었다. 문제는 어디서나 찾을 수 없다는 것입니다.pyGTK에서 위젯의 기본 스타일을 설정하는 방법은 무엇입니까?

마녀 패키지/module/class에서이 기능을 찾을 수 있습니까? gtk.Widget.set_style() 메소드를 사용하여 모든 위젯의 스타일을 설정하는 것을 피할 수있는 다른 방법이 있습니까?

답변

2

Widget.set_default_style()은 3.0 이후부터 사용되지 않습니다. 실행중인 버전에 대해서는 언급하지 않았지만 앞으로 나아가서 3.x라고 가정합니다.

원하는 것은 Gtk.CSSProvider (문자열 또는 CSS 파일에서 만들 수 있음)이며이 사용자 지정 스타일 공급자를 스타일 컨텍스트에 첨부합니다. 다음과 같은 내용 :

style_provider = Gtk.CssProvider() 

css = """ 
GtkWindow { 
    background-color: #F00; 
} 
""" 

style_provider.load_from_data (css); 

Gtk.StyleContext.add_provider_for_screen (Gdk.Screen.get_default(), 
              style_provider, 
              Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); 

정확한 CSS 형식에 대한 자세한 내용은 CSSProvider 설명서를 참조하십시오.

편집 : 실제로 당신은 제목에 pygtk를 언급합니다. GTK + 2.x를 의미할까요? 이 경우 대답은 이 아니고이며 게시 한 내용은 더 이상 예전의 방법을 기억하지 못합니다. 죄송합니다.