wxPython – Image on button in Python
In this particular article we will learn how can we add image to a button in GUI using wxPython. This can be achievwd 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= DefaultVadator, 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 Bitto 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:
# import wxPython import wx # event function for button def 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 disk bmp = wx.Bitmap( "/home/rahul101/Desktop/wxPython/images.png" , wx.BITMAP_TYPE_ANY) # create image button using BitMapButton constructor button = 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 :
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.