Výuka IT

PySimpleGUI

PySimpleGUI je knihovna pro Python, která umožňuje snadno vytvářet grafická uživatelská rozhraní. V této lekci se zaměříme na to, jak v PySimpleGUI zpracovávat vstupy od uživatele, konkrétně jak pracovat s výběrem z možností a jak ošetřovat číselné vstupy.

Instalace a import

Nejprve je potřeba nainstalovat PySimpleGUI. Můžete to udělat pomocí pip:

pip install pysimplegui

Poté můžete importovat knihovnu v Pythonu:

import PySimpleGUI as sg

Vytvoření jednoduchého okna

V PySimpleGUI vytvoříte okno pomocí funkce sg.Window. Zde je příklad jednoduchého okna s textovým polem a tlačítkem:

layout = [
  [sg.Text('Zadejte jméno:')],
  [sg.InputText()],
  [sg.Button('OK')]
]
window = sg.Window('Moje okno', layout)

Zpracování vstupu: Výběr z možností

Výběr z možností můžete realizovat pomocí rozbalovacího seznamu (Combobox). Zde je příklad:

layout = [
  [sg.Text('Vyberte možnost:')],
  [sg.Combo(['A', 'B', 'C'], default_value='A')],
  [sg.Button('Potvrdit')]
]
window = sg.Window('Výběr možnosti', layout)
event, values = window.read()
if event == 'Potvrdit':
  vybrana_moznost = values[0]
  print(f'Vybrali jste: {vybrana_moznost}')
window.close()

Zpracování vstupu: Číselné vstupy

Pro číselné vstupy můžete použít textové pole a poté ověřit, zda zadaná hodnota je číslo. Zde je příklad s použitím smyčky pro zpracování událostí:

layout = [
  [sg.Text('Zadejte číslo:')],
  [sg.InputText(key='cislo')],
  [sg.Button('Odeslat')]
]
window = sg.Window('Číselný vstup', layout)
while True:
  event, values = window.read()
  if event == sg.WIN_CLOSED:
    break
  elif event == 'Odeslat':
    vstup = values['cislo']
    if vstup.isdigit():
      print(f'Zadali jste číslo: {vstup}')
      break
    else:
      sg.popup('Chyba', 'Zadejte prosím číslo.')
window.close()