Hallo ich kämpfe ja auch gerade damit wx / PNG.
MaskColour #000000 ist nicht ideal, aber der mir die Grafiken erstellt ist das durch eine Gameengine (3dGS) gewohnt das #000000 Transparent ist.
Manchmal funktioniert bei mir Transparenz und manchmal nicht, die Bilder die ich geschickt bekomme ( mit Adobe Photoshop) erstellt funzktionieren 100%, dann habe ich jedoch das Bild nach bearbeitet mit Gimp und habe nun so eine weissen Rand den ich nicht mehr weg bekomme.
So wie ein Pixel einmal rund ums Bild wird mit default BackgroundColour gemacht, alles weil ich da mit Gimp nachgearbeitet habe.
Halbtransparenz geht nur auf einem wx Bild aber nicht da wo es auf den DesktopHintergrund geht.
Also am besten geht es bei mir über die MaskColour.
Bei meine Buttons muss ich allerdings sagen habe ich nur Transparenz (GIMP) und es geht auch siehe das Close X oben und Login Button
Screenshot:
Code der das Bild erzeugt, auf das ich meine Buttons setze:
Code: Alles auswählen
class Frame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "MK3d Loader", style = wx.FRAME_SHAPED | wx.SIMPLE_BORDER )
panel = wx.Panel(self)
self.panel = panel
self.panel.SetBackgroundColour("#4F3217")
self.panel.Bind(wx.EVT_PAINT, self.OnPaint)
.........
....
def OnPaint(self, evt):
dc = wx.PaintDC(self.panel)
self.bmp = wx.Bitmap("panel.png")
self.SetClientSize((self.bmp.GetWidth(), self.bmp.GetHeight()))
dc.DrawBitmap(self.bmp, 0,0, True)
self.bmp.SetMaskColour("#FFFFFF")
self.SetShape(wx.RegionFromBitmap(self.bmp))
PS: Wie man sieht bekomme ich die BackgroundColour von den ListBoxen nicht gesetzet, warum?
Code: Alles auswählen
self.packet_install = wx.ListBox(self.panel, -1, (538, 169), (122, 121), ["lol","lal"])
self.packet_install.SetBackgroundColour("#4F3217")
*edit*
habe ListBox gegen ListCtrl getauscht und alles geht.