André wrote:
I needed to scale the image down to 16 by 16 on my Windows computer
to make it work.
Hello André,
# I actually ran this code ;)
import wx
app = wx.PySimpleApp()
class myframe(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None,-1,"Icon Frame",
size=(100,100),pos=(-1,-1))
frame = myframe()
wx.InitAllImageHandlers()
# this image is 32*32 on my computer
image = wx.Image('c:/Python22/pycon.ico', wx.BITMAP_TYPE_ANY)
image = image.ConvertToBitmap()
icon = wx.EmptyIcon()
icon.CopyFromBitmap(image)
frame.SetIcon(icon)
frame.Show()
app.MainLoop()
This works fine for me I am on windows 2000, and pycon.py is 32*32*24
Wonder why you had to resize?
On another note, be sure to check out the tools dir in either the
wxpython dir or wx dir it has a script called img2py.py.
img2py.py -- Convert an image to PNG format and embed it in a Python
module with appropriate code so it can be loaded into
a program at runtime. The benefit is that since it is
Python source code it can be delivered as a .pyc or
'compiled' into the program using freeze, py2exe, etc.
Be sure to use the -i flag so it will convert it to a wxIcon
Once you convert your icon to source using img2py.py you can do this:
import Icon
ICON = Icon.getIcon()
frame.SetIcon(ICON)
Hth,
M.E.Farmer