Toolbars, Menubars & Statusbars

Toolbars and Menubars are features common to most GUIs, you'll be used to seeing them along the top of apps, such as MS Word.
Statusbars are also useful features, they allow you to show information about what's going on in a GUI, usually along the bottom of the app.


Toolbars (sometimes known as ribbons) appear across the top of a GUI.
They offer a series of buttons to click, which can be used to change settings/functionality in a GUI.

NB. Icons don't work in python 2.7, due to an issue showing PNG images.


tools = ["ABOUT", "REFRESH", "OPEN", "CLOSE", "SAVE",
        "NEW", "SETTINGS", "PRINT", "SEARCH", "UNDO",
        "WEB", "OFF"]

app.addToolbar(tools, tbFunc, findIcon=True)

Create Toolbars

Set Toolbars


The toolbar will also gain an extra button (a pin) allowing the user to configure it to be pinned or not.


Advertisement why?

Adds a standard Menubar along the top of the GUI.
On Windows/Linux a menubar will only be shown, once the first menu has been added.
On Mac, a menubar is always present.
Menubars are made up of a series of menus, each containing a list of names.
These names can be menu-items, radio buttons, check boxes, separators, or sub-menus.

Create Menus


fileMenus = ["Open", "Save", "Save as...", "-", "Export", "Print", "-", "Close"]
app.addMenuList("File", fileMenus, menuPress)



for i in range(5):
    app.addMenuRadioButton("Config", "font", "1" + str(i), menuPress)


for i in range(5):
    app.addMenuCheckBox("Config", "Size 1" + str(i), menuPress)


app.addSubMenu("Config", "Font Size")
for i in range(5):
    app.addMenuRadioButton("Font Size", "font", "1" + str(i), menuPress)

Set Menus

Get Menus

Extra Features:

Platform Specific/Custom Menus

It's possible to interact with menus that are specific to particular platforms, or prebuilt for specific purposes.
Simply use the menu names given below when adding menu-items to a menu.

Linux Menu

app.addMenuItem("appJar", "Help", app.appJarHelp)
app.addMenuItem("appJar", "About", app.appJarAbout)


Adds a statusbar along the bottom of the GUI. This can be used for easy debugging, as info for the user, or to show current settings.


app.setStatusbar("Line: 20", 0)
app.setStatusbar("Column: 4", 1)
app.setStatusbar("Mode: Edit", 2)


app.addToolbar(tools, tbFunc, True)
app.addStatusbar(fields=3, side="RIGHT")
# NOTE: 0 is now on the right
app.setStatusbarWidth(50, 2)
app.setStatusbarBg("red", 2)
app.setStatusbarFg("white", 2)

Create Statusbars

Set Statusbars