Creating Text and Input Layouts with Python’s PySimpleGUI – Tutorial 4

Posted by


In this tutorial, we will be exploring how to create text and input layouts using PySimpleGUI, a simple and easy-to-use GUI library for Python. We will be creating a simple GUI application that allows the user to enter some text into an input field and display that text on the screen.

To get started, you will need to have PySimpleGUI installed on your machine. You can install it using pip by running the following command in your terminal:

pip install PySimpleGUI

Once you have PySimpleGUI installed, you can start creating your GUI application. Here is the code for a simple text and input layout:

import PySimpleGUI as sg

layout = [
    [sg.Text('Enter some text:')],
    [sg.InputText()],
    [sg.Button('Submit')],
    [sg.Text('')],
    [sg.Text('Text entered:')],
    [sg.Text(size=(30,1), key='output_text')]
]

window = sg.Window('Text Input Layout', layout)

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

    if event == sg.WIN_CLOSED:
        break
    if event == 'Submit':
        text = values[0]
        window['output_text'].update(text)

window.close()

Let’s break down the code:

  1. We start by importing PySimpleGUI as sg.

  2. We define our layout using a list of lists. Each inner list represents a row in the layout. In this layout, we have a Text element prompting the user to enter some text, an InputText element for the user to input the text, a Button element to submit the text, a blank Text element for spacing, a Text element to display the entered text, and another Text element to display the output text.

  3. We create a Window object with the title ‘Text Input Layout’ and our defined layout.

  4. We enter a while loop to handle events in the GUI. If the user closes the window, we break out of the loop and close the window. If the event is ‘Submit’, we update the ‘output_text’ element with the text entered by the user.

  5. Finally, we close the window when the loop ends.

You can run this code in your Python environment to see the GUI in action. You should see a window with a text input field, a submit button, and two text elements. Entering some text and clicking ‘Submit’ will display the entered text in the output text element.

This is just a simple example, but you can customize the layout and add more functionality to suit your needs. PySimpleGUI provides a wide range of elements and features that you can use to create more complex GUI applications with ease. Have fun exploring and building your own GUI applications with PySimpleGUI!