Učebna IT

Procvičování: PySimpleGUI

Zde je pět příkladů na procvičení práce s knihovnou PySimpleGUI. Každý příklad obsahuje zadání a ukázkové řešení.

Příklad 1: Zobrazení jednoduchého textu

Vytvořte okno, které zobrazí text "Vítejte v PySimpleGUI!" a tlačítko "Zavřít".

Řešení

import PySimpleGUI as sg

layout = [[sg.Text("Vítejte v PySimpleGUI!")],
          [sg.Button("Zavřít")]]

window = sg.Window("Příklad 1", layout)

while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED or event == "Zavřít":
        break

window.close()

Příklad 2: Vstupní pole a výstup

Vytvořte okno, které umožní uživateli zadat své jméno a po stisknutí tlačítka "Odeslat" zobrazí pozdrav.

Řešení

import PySimpleGUI as sg

layout = [[sg.Text("Jak se jmenujete?")],
          [sg.Input(key="-NAME-")],
          [sg.Button("Odeslat"), sg.Button("Zavřít")]]

window = sg.Window("Příklad 2", layout)

while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED or event == "Zavřít":
        break
    if event == "Odeslat":
        sg.popup(f"Ahoj, {values['-NAME-']}!")

window.close()

Příklad 3: Zaškrtávací políčka

Vytvořte okno se třemi zaškrtávacími políčky a tlačítkem pro zobrazení vybraných možností.

Řešení

import PySimpleGUI as sg

layout = [[sg.Checkbox("Možnost 1", key="-OPT1-"),
           sg.Checkbox("Možnost 2", key="-OPT2-"),
           sg.Checkbox("Možnost 3", key="-OPT3-")],
          [sg.Button("Zobrazit"), sg.Button("Zavřít")]]

window = sg.Window("Příklad 3", layout)

while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED or event == "Zavřít":
        break
    if event == "Zobrazit":
        sg.popup("Vybrané možnosti:",
                 [key for key, value in values.items() if value])

window.close()

Příklad 4: Rozbalovací menu

Vytvořte okno s rozbalovacím menu a tlačítkem pro zobrazení vybrané položky.

Řešení

import PySimpleGUI as sg

layout = [[sg.Text("Vyberte si možnost:")],
          [sg.Combo(["Možnost A", "Možnost B", "Možnost C"], key="-COMBO-")],
          [sg.Button("Odeslat"), sg.Button("Zavřít")]]

window = sg.Window("Příklad 4", layout)

while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED or event == "Zavřít":
        break
    if event == "Odeslat":
        sg.popup(f"Vybrali jste: {values['-COMBO-']}")

window.close()

Příklad 5: Posuvník

Vytvořte okno s posuvníkem, který umožní uživateli vybrat hodnotu od 0 do 100.

Řešení

import PySimpleGUI as sg

layout = [[sg.Text("Vyberte hodnotu:")],
          [sg.Slider(range=(0, 100), orientation="h", size=(20, 15), key="-SLIDER-")],
          [sg.Button("Zobrazit"), sg.Button("Zavřít")]]

window = sg.Window("Příklad 5", layout)

while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED or event == "Zavřít":
        break
    if event == "Zobrazit":
        sg.popup(f"Vybraná hodnota: {values['-SLIDER-']}")

window.close()