Well, this should work, but my system does not support transparency
import wx
class MainFrame(wx.Frame):
"""Create MainFrame class."""
def __init__(self, *args, **kwargs):
super(MainFrame, self).__init__(None, *args, **kwargs)
self.Title = 'Transparency'
panel = MainPanel(self, size=(200, 100))
sizer = wx.BoxSizer()
sizer.Add(panel)
self.SetSizerAndFit(sizer)
self.Centre()
self.Show()
class MainPanel(wx.Panel):
"""Panel class to contain frame widgets."""
def __init__(self, parent, *args, **kwargs):
super(MainPanel, self).__init__(parent, *args, **kwargs)
"""Create and populate main sizer."""
left_panel = LeftPanel(self, size=(100, 100))
right_panel = RightPanel(self, size=(100, 100))
panel_sizer = wx.BoxSizer(wx.HORIZONTAL)
panel_sizer.Add(left_panel)
panel_sizer.Add(right_panel)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(panel_sizer)
self.SetSizer(sizer)
class LeftPanel(wx.Panel):
"""Transparent panel."""
def __init__(self, parent, *args, **kwargs):
super().__init__(parent, *args, **kwargs)
supports_transparency = self.SetTransparent(wx.IMAGE_ALPHA_TRANSPARENT)
if not supports_transparency:
print('This system does not support transparency')
self.SetBackgroundColour(wx.BLUE)
class RightPanel(wx.Panel):
"""Opaque panel."""
def __init__(self, parent, *args, **kwargs):
super().__init__(parent, *args, **kwargs)
if __name__ == '__main__':
screen_app = wx.App()
MainFrame()
screen_app.MainLoop()