如何使用wxpython直接在屏幕上绘图?

时间:2012-01-18 13:28:47

标签: python drawing wxpython overlay

我正在使用Linux和e17禁用合成,我想创建一个能够直接在屏幕上绘制简单几何形状和文本的程序。

我的第一个想法是:

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)

它以某种方式使它工作,但它是一个hacky解决方案,并绘制线条,我需要更多的迭代次数。

我认为问题可能在于透明度,但不知道如何解决。

任何帮助都将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:2)

您是否在任何地方指定StartDrawingOnTop?否则,您可能会遇到透明度问题,因此您可能会尝试明确设置。

答案 1 :(得分:1)

我认为你可以通过创建一个框架和面板然后调用框架的SetTransparency方法来设置它。你绝对想要使用DC或像FloatCanvas这样的东西进行绘图。值得一试。