Open In App

wxPython – SetStatusStyles() function in wx.StatusBar

Last Updated : 13 Aug, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

In this article e are going to learn about SetStatusStyles() function associated with wx.StatusBar class of wxPython. SetStatusStyles() function Sets the styles of the fields in the status line which can make fields appear flat or raised instead of the standard sunken 3D border.
It takes an array of n integers with the styles for each field as an argument.
 

Syntax: wx.StatusBar.SetStatusStyles(Self, styles)
Parameters: 
 

Parameter Input Type Description
styles list of int Contains an array of n integers with the styles for each field.

There are four possible styles:
1. SB_NORMAL (default): The field appears with the default native border.
2. SB_FLAT: No border is painted around the field so that it appears flat.
3. SB_RAISED: A raised 3D border is painted around the field.
4. SB_SUNKEN: A sunken 3D border is painted around the field (this style is new since wxWidgets 2.9.5).
 

Code Example: 

Python3




import wx
 
 
class Example(wx.Frame):
 
    def __init__(self, *args, **kwargs):
        super(Example, self).__init__(*args, **kwargs)
 
        self.InitUI()
 
    def InitUI(self):
 
        self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
        self.statusbar = wx.StatusBar()
        self.statusbar.Create(self, id = 1, name = "Status Bar")
        self.SetStatusBar(self.statusbar)
        self.SetSize((350, 250))
 
        # SET TOTAL NUMBER OF FIELDS AND RESPECTIVE WIDTHS
        self.statusbar.SetFieldsCount(3, [100, 80, 60])
 
        # SET TEXT FOR ALL FIELDS
        self.statusbar.SetStatusText("Field One", 0)
        self.statusbar.SetStatusText("Field Two", 1)
        self.statusbar.SetStatusText("Field Three", 2)
        self.statusbar.SetBackgroundColour((200, 188, 73, 243))
 
        # SET STYLES FOR ALL STATUS FIELDS
        self.statusbar.SetStatusStyles([wx.SB_FLAT, wx.SB_SUNKEN, wx.SB_RAISED])
        self.SetTitle('New Frame Title')
        self.Centre()
        print(self.statusbar.GetMinHeight())
 
 
def main():
    app = wx.App()
    ex = Example(None)
    ex.Show()
    app.MainLoop()
 
 
if __name__ == '__main__':
    main()


Output Window: 



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads