In this particular article we will learn how can we add image to a button in GUI using wxPython. This can be achieved using BitmapButton() constructor of wx.BitmapButton class in wx. Following Window Styles are supported :
- wx.BU_LEFT: Left-justifies the bitmap label.
- wx.BU_TOP: Aligns the bitmap label to the top of the button.
- wx.BU_RIGHT: Right-justifies the bitmap label.
- wx.BU_BOTTOM: Aligns the bitmap label to the bottom of the button.
Syntax :
wx.StaticText(self, parent, id=ID_ANY, bitmap=NullBitmap, pos=DefaultPosition, size=DefaultSize, style=0, validator= DefaultValidator, name=StaticTextNameStr)Parameters :
Parameter Input Type Description parent wx.Window Parent window. Should not be None. id wx.WindowID Control identifier. A value of -1 denotes a default value. bitmap wx.Bitmap Bit to be displayed. pos wx.Point Window position. size wx.Window Window size. style long Window style. validator wx.Validator Window validator. name string Window name.
Example Code:
Python3
# import wxPythonimport wx# event function for buttondef onButton(event): print("Button pressed.")app = wx.App()frame = wx.Frame(None, -1, 'win.py')frame.SetDimensions(0, 0, 200, 70)panel = wx.Panel(frame, wx.ID_ANY)# open image from diskbmp = wx.Bitmap("/home/rahul101/Desktop/wxPython/images.png", wx.BITMAP_TYPE_ANY)# create image button using BitMapButton constructorbutton = wx.BitmapButton(panel, id = wx.ID_ANY, bitmap = bmp, size =(bmp.GetWidth()+10, bmp.GetHeight()+10)) button.Bind(wx.EVT_BUTTON, onButton)button.SetPosition((10, 10))frame.Show()frame.Centre()app.MainLoop() |
Output :

