2010-05-19 2 views
0

PyGTK 위젯을 부분적으로 투명하게 만들 수있는 방법이 있나요? 그 뒤에있는 위젯을 볼 수 있습니까? 특히 저는 타이포그래피 효과를 위해 라벨에서이를 수행하려고합니다. 대신 모든 테마에서 제대로 보이지 않을 수 있으므로 색상을 변경하고 싶지 않습니다.PyGTK 라벨에서 불투명도 설정하기

답변

2

아니요, 불가능합니다. 창 관리자가 합성을 지원하지만 전체 위젯은 지원하지 않으면 전체 창을 부분적으로 투명하게 만들 수 있습니다.

나는 당신이 "혼합"색 다르게 달성 할 수 원하는 것을 추측 :

def blend (color1, color2, weight = 0.5): 
    return gtk.gdk.Color (
     color1.red_float * weight + color2.red_float * (1 - weight), 
     color1.green_float * weight + color2.green_float * (1 - weight), 
     color1.blue_float * weight + color2.blue_float * (1 - weight)) 

for state in gtk.StateType.__enum_values__: 
    label.modify_fg (state, blend (label.style.fg[state], label.style.bg[state])) 

당신은 또한 "스타일 설정"신호를들을 수 있습니다 완전히 올바른하려면.

+0

감사합니다. – snostorm

+0

비 합성 윈도우 관리자에서 모양 결합 마스크를 사용하여 gdk 창을 투명하게 만들 수 있습니다. 꽤 못 생겼지 만 윈도우에서 그려진 픽스맵을 결합 마스크로 사용하여 레이블을 모방 할 수 있습니다. –