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.
wxPython Bitmap 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()
InfoClock 0 Newbie Poster
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.