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.
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
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)
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()
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()