2011-05-03 13 views
2

gnome-panel과 비슷한 모양으로 패널과 같은 응용 프로그램을 만들고 싶습니다. 나는 이것을 위해 GTK를 사용하고 싶다. (비록 Qt를 들여다 보았지만) 파이썬을 선호한다.예를 들어 GTK 창을 장식하는 방법. 그놈 패널?

어떻게 색/그라디언트/비트 맵/svg가 적용되는 방식으로 창을 장식 할 수 있습니까? 하지만, gtkrc를 통해 컬러 그라데이션을 설정

#!/usr/bin/env python 

import gtk 

pixmap_rc = """ 
pixmap_path "/home/foo/images" 
style "bar" { 
    bg_pixmap[NORMAL] = "logo.svg" 
} widget "*foo" style "bar" 
""" 

color_rc= """ 
style "bar" { 
    bg[NORMAL] = "Hot Pink" 
} widget "*foo" style "bar" 
""" 

def main(): 
    window = gtk.Window() 
    window.set_decorated(False) 
    window.connect("destroy", gtk.main_quit) 

    window.set_name("foo") 
    gtk.rc_parse_string(color_rc) 

    window.show_all() 
    gtk.main() 

if __name__ == "__main__": 
    main() 

엔진 별 것 같다 :

답변

2

한 가지 방법은 (예 아래 인라인 스타일 문자열을 사용) 스타일을 사용하는 것입니다.

편집 : 여기 연신 된 배경 이미지와 함께 최소한의 gtkrc 예를 간다 :

pixmap_path "/home/foo/images" 
style "bar" { 
    engine "pixmap" { 
     image { 
      function = FLAT_BOX 
      file  = "test.png" 
      stretch = TRUE 
     } 
    } 
} widget "*foo" style "bar" 
+0

니스 하나, 감사합니다! :) 스타일에 대한 설명서 또는 자습서에 대한 제안 사항이 있습니까? – Benjamin

+0

@Benjamin : 시작을 위해 이것을 확인하십시오 : http://live.gnome.org/GnomeArt/Tutorials/GtkThemes –

+0

@barti_ddu gnome.org에 대한 문서는 매우 숙고되어 있습니다. 내가 이해하지 못하는 것 : 코드의 스타일이 Gnome WM 테마의 스타일을 덮어 씁니까? 이미 존재하는 스타일을 사용할 수 있습니까? 예를 들어 나는 gnome-panel.rc 파일을 사용하고 그 스타일을 사용하고 싶습니까? 애플리케이션에이 스타일을 적용하려면 어떻게해야합니까? 마지막으로, 픽스맵에 _stretch_ 또는 _tile_을 지정할 수 있습니까? 현재 예제는 픽스맵을 바둑판 식으로 배열하고있다. 감사. – Benjamin