Open In App

wxPython – Image on button in Python

Improve
Improve
Like Article
Like
Save
Share
Report

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 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 :


Last Updated : 24 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads