Ich habe ein kleines Problem mit meinem TreeCtrl bzw der Imagelist. Kann es sein dass die Imagelist keinen alpha channel unterstützt?
Hier ein kleines Programm zum testen:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import wx
class MyFrame(wx.Frame):
def __init__(self, parent, ID, title):
wx.Frame.__init__(self, parent, ID, title)
# TreeCtrl
tree = wx.TreeCtrl(self, wx.ID_ANY)
imagelist = wx.ImageList(16, 16, False)
image = wx.Image("test.png", wx.BITMAP_TYPE_PNG)
il_image = imagelist.Add(image.ConvertToBitmap())
tree.AssignImageList(imagelist)
tree.AddRoot("TEST", il_image)
# Menubar
menuBar = wx.MenuBar()
menu = wx.Menu()
menu_item = wx.MenuItem(menu, wx.ID_ANY, "Image")
menu_item.SetBitmap(image.ConvertToBitmap())
menu.AppendItem(menu_item)
menu_item = wx.MenuItem(menu, wx.ID_ANY, "Imagelist")
menu_item.SetBitmap(imagelist.GetBitmap(0))
menu.AppendItem(menu_item)
menuBar.Append(menu, "Test")
# Menubar hinzufügen
self.SetMenuBar(menuBar)
self.Center()
self.Show()
if __name__ == '__main__':
app = wx.PySimpleApp()
MyFrame(None, wx.ID_ANY, 'Test')
app.MainLoop()
Leider wird die Alpha Transparenz nur dargestellt wenn ich das Bild nicht aus der Imagelist lade....
mein verwendetes Testbild könnt ihr hier runterladen (am besten dann noch in test.png umbennenen

http://img207.imageshack.us/img207/8416/testan4.png
Also habe ich etwas falsch gemacht oder ist das ein Bug in wxPython/wxWidgets?