Web Analytics Made Easy - Statcounter
Skip to content

Button

import PySimpleGUI as sg

layout = [[sg.Button('My first Button!'), sg.Button('Disabled Button!', disabled=True)]]

ButtonMenu

import PySimpleGUI as sg

layout = [[sg.ButtonMenu('My first ButtonMenu!',  ['Menu', ['Menu item 1', 'Menu item 2']])]]

Canvas

import PySimpleGUI as sg

layout = [[sg.Canvas(background_color='red', size=(100, 100))]]

Checkbox

import PySimpleGUI as sg

layout = [[sg.Checkbox('My first Checkbox!', default=True), sg.Checkbox('My second Checkbox!'), sg.Checkbox('Disabled Checkbox!', disabled=True)]]

Column

import PySimpleGUI as sg

column_layout1 = [[sg.Button('My first Button!'), sg.Checkbox('My first Checkbox!')],
                  [sg.Button('Another Button.')]]
column_layout2 = [[sg.Button('My third Button!'), sg.Checkbox('My second Checkbox!')]]

layout = [[sg.Column(column_layout1, element_justification='center'), sg.Column(column_layout2, element_justification='center')]]

Combo

import PySimpleGUI as sg

layout = [[sg.Combo(['Choice 1', 'Choice 2', 'Choice 3', 'Choice 4'], default_value='Choice 3')]]

Frame

import PySimpleGUI as sg

frame_layout2 = [[sg.Text('Py')],
                 [sg.Text('Simple')],
                 [sg.Text('GUI')]]

frame_layout1 = [[sg.Button('My Button!'), sg.Frame('Frame 2', frame_layout2, element_justification='center')]]

layout = [[sg.Frame('Frame 1', frame_layout1)]]

Graph

import PySimpleGUI as sg

layout = [[sg.Graph((800, 400), (-400, -200), (400, 200), background_color='white', key='-GRAPH-')]]

# Window
window = sg.Window(title='Graph Element', layout=layout)
# Allows you to modify the graph before a window.read() call
window.finalize()

# Add text to the graph
window['-GRAPH-'].draw_text('PySimpleGUI is easy!', (-200, 100), font=14)

HorizontalSeperator

import PySimpleGUI as sg

layout = [[sg.Button('My first Button!')],
          [sg.HorizontalSeparator(color='red')],
          [sg.Checkbox('My first Checkbox!')]]

Image

import PySimpleGUI as sg

layout = [[sg.Image('python.png')]]

Input

import PySimpleGUI as sg

layout = [[sg.Input(default_text='Hello! o/')]]

Listbox

import PySimpleGUI as sg

layout = [[sg.Listbox(["1", "2", "3", "4", "5"], size=(10, 2))]]

Menu

import PySimpleGUI as sg

menu_def = [['&File', ['!&Open', '&Save::savekey', '---', '&Properties', 'E&xit']], ['&Help', '&About...']]

layout = [[sg.Menu(menu_def)],
          [sg.Text('Your window!', size=(30, 5))]]

MenubarCustom

import PySimpleGUI as sg

menu_def = [['&File', ['!&Open', '&Save::savekey', '---', '&Properties', 'E&xit']], ['&Help', '&About...']]

layout = [[sg.MenubarCustom(menu_def)],
          [sg.Text('Your window!', size=(30, 5))]]

Multiline

import PySimpleGUI as sg

layout = [[sg.Multiline(default_text='This\nelement\nhas\nmultiple\nlines!', size=(None, 3))]]

Output

import PySimpleGUI as sg

layout = [[sg.Output(size=(30, 10)), sg.Button('Hi!', k='-BUTTON1-')]]

# Window
window = sg.Window(title='Output Element', layout=layout)

# Event loop
while True:
    event, values = window.read()

    if event == sg.WIN_CLOSED:
        break

    # Prints get redirected to the Output Element
    print(event)

OptionMenu

import PySimpleGUI as sg

layout = [[sg.OptionMenu(['Option 1', 'Option 2', 'Option 3', 'Option 4'], default_value='Option 2')]]

Pane

import PySimpleGUI as sg

column_layout1 = [[sg.Button('My first Button!'), sg.Checkbox('My first Checkbox!')],
                  [sg.Button('Another Button.')]]
column_layout2 = [[sg.Button('My third Button!'), sg.Checkbox('My second Checkbox!')]]

layout = [[sg.Pane([sg.Column(column_layout1), sg.Column(column_layout2)], size=(300, 200))]]

ProgressBar

import PySimpleGUI as sg

layout = [[sg.ProgressBar(10, key='-PROGRESS_BAR-'), sg.Button('Update!', key='-UPDATE-')]]
count = 0

window = sg.Window(title='ProgressBar Element', layout=layout, resizable=True)

while True:
    event, values = window.read()

    if event == sg.WIN_CLOSED:
        break
    elif event == '-UPDATE-':
        count += 1
        window['-PROGRESS_BAR-'].update(current_count=count)

Push

import PySimpleGUI as sg

layout = [[sg.Button('My first Button!'), sg.Push(background_color='orange'), sg.Checkbox('My first Checkbox!')]]

Radio

import PySimpleGUI as sg

layout = [[sg.Radio('My first Radio!', group_id=1, default=True), sg.Radio('My second Radio!', group_id=1), sg.Radio('Disabled Radio!', group_id=1, disabled=True)]]

Sizegrip

import PySimpleGUI as sg

layout = [[sg.Button('My first Button!'), sg.Checkbox('My first Checkbox!')],
          [sg.VPush()],
          [sg.Push(), sg.Sizegrip()]]

Sizer

import PySimpleGUI as sg

layout = [[sg.Yes(), sg.Sizer(200, 300), sg.No()]]

Slider

import PySimpleGUI as sg

layout = [[sg.Slider((1, 10), orientation='horizontal')]]

Spin

import PySimpleGUI as sg

layout = [[sg.Spin([1, 2, 3, 4, 5], size=(10, 1))]]

StatusBar

import PySimpleGUI as sg

layout = [[sg.StatusBar('Online', text_color='#c2ffa7')]]

Tab/TabGroup

import PySimpleGUI as sg

tab_layout1 = [[sg.Button('My first Button!'), sg.Checkbox('My first Checkbox!')],
               [sg.Button('Another Button.')]]
tab_layout2 = [[sg.Button('My third Button!'), sg.Checkbox('My second Checkbox!')]]

layout = [[sg.TabGroup([[sg.Tab("Tab 1", tab_layout1), sg.Tab("Tab 2", tab_layout2)]])]]

Table

import PySimpleGUI as sg

layout = [[sg.Table([["", "ABC", "DEF"], ["GHI", "JKL", "MNO"], ["PQRS", "TUV", "WXYZ"]], headings=["1, 4, 7", "2, 5, 8", "3, 6, 9"])]]

Text

import PySimpleGUI as sg

layout = [[sg.Text("Text!", font=("Calibri", 24))]]

Titlebar

import PySimpleGUI as sg

layout = [[sg.Titlebar("My custom Titlebar!")],
          [sg.Button("My first button!")]]

Tree/TreeData

import PySimpleGUI as sg

treedata = sg.TreeData()

treedata.Insert("", '_A_', 'A', [1, 2, 3])
treedata.Insert("", '_B_', 'B', [4, 5, 6])
treedata.Insert("_A_", '_A1_', 'A1', ['can', 'be', 'anything'])

layout = [[sg.Tree(treedata, headings=["X", "Y", "Z"])]]

VerticalSeperator

import PySimpleGUI as sg

layout = [[sg.Button('My first Button!'), sg.VerticalSeparator(color='red'), sg.Checkbox('My first Checkbox!')]]

VPush

import PySimpleGUI as sg

layout = [[sg.Button('My first Button!')],
          [sg.VPush(background_color='orange')],
          [sg.Checkbox('My first Checkbox!')]]