0

PyGTKアプリケーションで特定のウィジェットの透明性を確保するための最良の方法は何ですか?各ウィジェットの透明度はアニメーションによって変化するため、テーマは使用しません。

私が見つけることができる唯一のことは、カイロを使用してAlphaでウィジェットを描画することですが、これを行う方法がわかりません。これを行うためのより良い方法はおそらくありますか?

ありがとう!

4

1 に答える 1

3

プログラムが構成マネージャーの下で実行されると仮定すると、ウィジェットの X ウィンドウを操作することで、ウィジェットごとの透過性を得ることができます。gtk.gdk.Window.set_opacity()を見てください。

ではないことに注意してくださいgtk.Windowwindowこのオブジェクトは、そのプロパティ ( )を取得することで取得できますがbuttonWidget.window、ウィジェットが認識されたときと、ウィジェットがイベントを処理するときだけです。たとえば、gtk.Label には独自の X ウィンドウがありません。

コンポジション マネージャーがないときにも作業する必要がある場合は、自分でウィジェットを描画することが唯一の選択肢ですが、必ずしも cairo を使用する必要はありません。裸の X ウィンドウでピクセルごとに描画することもできます。

于 2009-10-30T23:58:04.160 に答える