1
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()

现在框架和线条都是不可见的。

请告诉我如何使框架完全透明,而线条可见?

4

1 回答 1

0

当您使框架透明时,它也使其所有子级透明。因此,这确实是不可能的。您可以通过 GraphicsContext 制作半透明的图纸。你可以看看 GLCanvas(OpenGL 的包装器),或者你可以用 Cairo 拼凑一些东西。有关示例,请参见 wxPython 演示包(可从www.wxpython.org 获得)。

于 2013-05-07T20:45:45.673 回答