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?