The wx.BitmapButton shows an image, great for those folks who think that a picture is worth a thousand words. The snippet gives an example how to load the image, size the button, and put the image on the the button.
# Example of a wxPython Frame, Panel and BitmapButton # wx.BitmapButton(parent, id, bitmap, pos = wx.DefaultPosition, size = wx.DefaultSize, style=0) # best to size the button to the image width and height plus a border margin # tested with Python24 and wxPython26 vegaseat 22jun2006 import wx class MyFrame(wx.Frame): """make a frame, inherits wx.Frame, add a panel and button""" def __init__(self): # create a frame, no parent, default to wxID_ANY wx.Frame.__init__(self, None, wx.ID_ANY, 'wxBitmapButton', pos=(300, 150), size=(300, 350)) # panel needed to display button correctly self.panel1 = wx.Panel(self, -1) # pick a button image file you have (.bmp .jpg .gif or .png) imageFile = "Btn_down.jpg" image1 = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap() self.button1 = wx.BitmapButton(self.panel1, id=-1, bitmap=image1, pos=(10, 20), size = (image1.GetWidth()+5, image1.GetHeight()+5)) self.button1.Bind(wx.EVT_BUTTON, self.button1Click) # show the frame self.Show(True) def button1Click(self,event): self.SetTitle("Button1 clicked") # test application = wx.PySimpleApp() # call class MyFrame window = MyFrame() # start the event loop application.MainLoop()
Hi and thank you very much for posting your code. Helps a lot ! One question though : is there a way to update the image on the button once created and displayed ?
I'm writing a small application that display the weather. Every hour, I would like to update the information. I'm able to do it for text using ChangeValue on a TextCtrl but cannot find anything to update the 'weather image' that I have positionned on a BitmapButton. Any idea ?
Thank a lot.
Are you able to help answer this sponsored question?
Questions asked by members who have earned a lot of community kudos are featured in order to give back and encourage quality replies.
So I have a JTextfield in the cells of 1 of the columns in my JTable
I want to allow only numbers and up to one dot/period. Doesant ...
vb.Net - Regular Expression Tester
Every now and then I find another use for a regular expression. For those not familiar with regular expressions, they can be as cryptic to ...
I'm trying to build a client and a server in the same program. For example, user 1 sends a packet of data to user 2, user 2 after receiving the ...