Open In App
Related Articles

Button in wxPython – Python

Like Article
Save Article
Report issue

In this article we are going to learn how can we add buttons to a frame in wxPython. This can be done by  using the Button() constructor of wx.Button class.

Following styles are supported in this class:

  • wx.BU_LEFT: Left-justifies the label. Windows and GTK+ only.
  • wx.BU_TOP: Aligns the label to the top of the button. Windows and GTK+ only.
  • wx.BU_RIGHT: Right-justifies the bitmap label. Windows and GTK+ only.
  • wx.BU_BOTTOM: Aligns the label to the bottom of the button. Windows and GTK+ only.
  • wx.BU_EXACTFIT: By default, all buttons are made of at least the standard button size, even if their contents is small enough to fit into a smaller size. This is done for consistency as most platforms use buttons of the same size in the native dialogs, but can be overridden by specifying this flag. If it is given, the button will be made just big enough for its contents. Notice that under MSW the button will still have at least the standard height, even with this style, if it has a non-empty label.
  • wx.BU_NOTEXT: Disables the display of the text label in the button even if it has one or its id is one of the standard stock ids with an associated label: without using this style a button which is only supposed to show a bitmap but uses a standard id would display a label too.
  • wx.BORDER_NONE: Creates a button without border. This is currently implemented in MSW, GTK2 and OSX/Cocoa.

Syntax :

wx.StaticText(self, parent, id=ID_ANY, label=””, 
              pos=DefaultPosition, size=DefaultSize, 
                 style=0, validator= DefaultValidator, 

Parameters :

ParameterInput TypeDescription
parentwx.WindowParent window. Should not be None.
idwx.WindowIDControl identifier. A value of -1 denotes a default value.
labelstringText Label.
poswx.PointWindow position.
sizewx.WindowWindow size.
stylelongWindow style.
validatorwx.ValidatorWindow validator.
namestringWindow name.

Example #1: 


# import wxPython
def onButton(event):
    print( "Button pressed.")
app = wx.App()
frame = wx.Frame(None, -1, '')
frame.SetDimensions(200, 0, 200, 50)
panel = wx.Panel(frame, wx.ID_ANY)
button = wx.Button(panel, wx.ID_ANY, 'Test', (10, 10))
button.Bind(wx.EVT_BUTTON, onButton)


Output :


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