Introduction à PySimpleGUI
Qu'est-ce que PySimpleGUI?
PySimpleGUI est une bibliothèque Python qui permet de créer des interfaces graphiques de manière simple et intuitive. Elle se base sur Tkinter, Qt, WxPython et Remi, et offre une interface unifiée pour ces différentes bibliothèques.
Installation
pip install PySimpleGUI
Création d'une fenêtre simple
import PySimpleGUI as sg
layout = [[sg.Text('Bonjour, Monde!')],
[sg.Button('OK')]]
window = sg.Window('Fenêtre Simple', layout)
while True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'OK':
break
window.close()
Éléments de base
layout = [
[sg.Text('Texte')],
[sg.Input()],
[sg.Button('Bouton')],
[sg.Checkbox('Case à cocher')],
[sg.Radio('Option 1', "RADIO1"), sg.Radio('Option 2', "RADIO1")],
[sg.Slider(range=(1,100), orientation='h', size=(20,20), default_value=50)],
[sg.Listbox(values=['Liste 1', 'Liste 2', 'Liste 3'], size=(30, 3))]
]
Gestion des événements
while True:
event, values = window.read()
if event == sg.WIN_CLOSED:
break
if event == 'Bouton':
print('Bouton cliqué')
if values[0] == 'Texte saisi':
print('Texte:', values[0])
Personnalisation de la fenêtre
sg.theme('DarkAmber') # Changer le thème
layout = [
[sg.Text('Texte', font=('Helvetica', 16), text_color='blue')],
[sg.Button('Bouton', button_color=('white', 'green'))]
]
window = sg.Window('Fenêtre Personnalisée', layout)
Boîtes de dialogue courantes
sg.popup('Ceci est une popup')
sg.popup_error('Ceci est une erreur')
sg.popup_ok_cancel('Continuer ou annuler?')
sg.popup_yes_no('Oui ou non?')
Fenêtres multi-onglets
tab1_layout = [[sg.Text('Onglet 1')],
[sg.Input(key='-IN-')],
[sg.Text('', size=(12,1), key='-OUT-')]]
tab2_layout = [[sg.Text('Onglet 2')],
[sg.Input(key='-IN2-')],
[sg.Text('', size=(12,1), key='-OUT2-')]]
layout = [[sg.TabGroup([[sg.Tab('Tab 1', tab1_layout), sg.Tab('Tab 2', tab2_layout)]], key='-TABGROUP-')],
[sg.Button('Lire'), sg.Button('Quitter')]]
window = sg.Window('Fenêtres multi-onglets', layout)