2017-12-01 25 views
0

私は現在pygtkライブラリを使ってLinux上にPythonプログラムを書いています。私はすでにウィンドウの背景を透明にして、すべてのクリックをウィンドウの下のウィンドウに渡しました。だから、私はクリックとキーイベントが下のウィンドウに転送されるので、何もしない目に見えないウィンドウを持っています。(Py)GTKに繰り返しイメージからなる線を描くには?

今私はプログラムをどこに描画するかを指示する外部プログラム/デバイスを使いたいと思います。私はすでにそうすることができました。

しかし、1つのイメージを繰り返すことで構成される画面/ウィンドウに線を描画するための適切かつ効率的な方法は何ですか?レーザーライン(8x8ピクセル)の一部を得て、座標(0,0)から(20,12)に線を描き、次に(22,15)、次に25,15)など。ユーザーはそれをペイントします。

私の最終的な質問は、(背景が見えないので画面のように見える)多くの座標をユーザが描画すると、小さな繰り返しの単一のpng画像で線を描くにはどうすればいいですか?

+0

に塗りつぶし色を設定することができますPyGTKを使用しないでください。これはGTK + 2用の古い静的バインディングです。しかし、それは2017年であり、GTK + 3は何年もそこにいました。 python + GTK + 3のチュートリアルを読んでください:https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html – liberforce

+0

図面に関しては、あなたはcairoでこれを行うことになっています:https: //cairographics.org – liberforce

答えて

0

GooCanvasをご覧ください。このライブラリ(Gdk/Gtk - Cairoの描画ツール上に構築されています)は、アイテムの描画の詳細の大部分を処理し、自動再描画も行います。テクスチャ、イメージなどを使用して線を描くこともできます。また、各画層のイベントや描かれた各要素のハンドラを定義することもできます。

結果はウィジェットで、GUIのどこにでも詰めることができます。 GooCanvas 2.0.xではなく、古い1.xのバージョンではありません。これは、イントロスペクションを通じてPythonで使用できます。

あなたはサイドノートとしてPIXBUF(直接ではなくPNG、しかし簡単にコンバーチブル)