import wx
class DrawPanel(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None,title="Draw",size=(150,150))
self.SetTransparent(0)
self.Bind(wx.EVT_PAINT, self.OnPaint)
def OnPaint(self, event=None):
dc = wx.PaintDC(self)
dc.SetPen(wx.Pen(wx.BLACK, 5))
# Draw a line
dc.DrawLine(0, 0, 150, 150)
app = wx.App()
frame = DrawPanel()
frame.Show(True)
app.MainLoop()
现在帧和线都是不可见的。
请告诉我如何使画面完全透明,同时可以看到画线?
答案 0 :(得分:0)
当您使框架透明时,它也会使其所有子项都透明。因此,这真的是不可能的。您可以通过GraphicsContext制作半透明图纸。你可以看一下GLCanvas(OpenGL的包装器),或者你也可以和Cairo一起拼凑一些东西。有关示例,请参阅wxPython演示程序包(可从www.wxpython.org获得)。