2009-10-30 5 views
0

PyGTK 애플리케이션에서 특정 위젯의 투명성을 갖는 가장 좋은 방법은 무엇입니까? 애니메이션을 통해 각 위젯의 투명도가 변하기 때문에 주제를 사용하고 싶지 않습니다.PyGTK의 위젯 투명성?

내가 찾을 수있는 유일한 것은 카이로를 사용하여 알파로 위젯을 그리는 것이지만이를 수행하는 방법을 알 수는 없습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

감사합니다.

답변

3

프로그램이 컴포지션 관리자에서 실행된다고 가정하면 위젯의 X 윈도우를 조작하여 위젯 투명성을 얻을 수 있습니다. gtk.gdk.Window.set_opacity()을보십시오.

참고 : gtk.Window이 아닙니다. window 속성 (buttonWidget.window)을 가져옴으로써이 객체를 얻을 수 있지만, 위젯이 실현 될 때만 그리고 위젯이 이벤트를 처리 할 때만 - gtk.Label에는 예를 들어 자체 X 윈도우가 없습니다.

작곡 관리자가없는 경우에도 작업해야하는 경우, 자신 만의 위젯 그리기가 유일한 옵션입니다. 그러나 반드시 카이로를 사용할 필요는 없습니다. 벌거 벗은 X 윈도우에서 한 픽셀 씩 그리기도 가능합니다.