2012-01-18 41 views
1

私は、構成が無効のLinuxとe17を使用しています。単純な幾何学的図形やテキストを画面に直接描画できるプログラムを作成したいと考えています。wxpythonで直接画面に描画する方法は?

私の最初の考えが何をした:

import wx 
app = wx.App(False) 
s = wx.ScreenDC() 
s.Pen = wx.Pen("#FF0000") 
s.DrawRectangle(60,60,120,120) 

しかし、これは動作しませんので、私はとの最後の行に置き換え:何とかそれは働かせたが、それはハックだ

for i in range(0,129): 
    s.DrawRectangle(60,60,120,120) 

を私は繰り返しの量を増やす必要があります。

私はこの問題は透明性があるかもしれないと思っていますが、解決方法はわかりません。

ありがとうございます、ありがとうございます。

+1

コードはWindows上で正常に動作します。 – FogleBird

+0

ええ、私はそれが他のほとんどのLinux WMとDEでもうまく動作すると思います。啓蒙はやや珍しいです。 – Llamageddon

答えて

2

StartDrawingOnTopはどこに指定しますか?それ以外の場合は、透過性の問題がある可能性があるので、明示的に設定してみてください。

+0

確かに、私はそれを忘れてしまった。私はそのような愚かな間違いを恥じている。 – Llamageddon

1

フレームとパネルを作成し、フレームのSetTransparencyメソッドを呼び出してこれを設定すると、これを行うことができます。あなたは間違いなくDCやFloatCanvasのようなものを使って描画をしたいと思っています。とにかく試してみる価値がある。

+0

ここでは透明性の欠如が問題になりますが、私はこれがより良いアイデアのように聞こえるので、この方法を試してみます。 – Llamageddon

+0

あなたはwxPythonメーリングリストでも尋ねることができます。そこにはたくさんのLinuxの人がいて、wxの描画機能を野生的でうっとりした方法で使っている人がいます。 –

関連する問題