Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Aller plus loin avec Python

APERTO-NOTA

Installation

Pour installer les bibliothèques nécessaires :

pip install urwid
pip install windows-curses

Exemple

Voici un exemple simple d’utilisation de curses pour créer une interface console qui affiche un message et attend une touche pour quitter :

import curses

def main(stdscr):
    stdscr.clear()
    stdscr.addstr(0, 0, "Bienvenue dans l'interface console avec curses !")
    stdscr.addstr(1, 0, "Appuyez sur une touche pour quitter.")
    stdscr.refresh()
    stdscr.getch()

curses.wrapper(main)

Et un exemple de base avec urwid :

import urwid

def on_exit(button):
    raise urwid.ExitMainLoop()

text = urwid.Text("Bienvenue dans l'interface console avec urwid !")
button = urwid.Button("Quitter")
urwid.connect_signal(button, 'click', on_exit)
pile = urwid.Pile([text, button])
fill = urwid.Filler(pile, valign='top')
loop = urwid.MainLoop(fill)
loop.run()

Exercice

Solution to Exercise 1 #
exo_6_6_5.py
import urwid


def on_submit(button, edit):
    name = edit.edit_text
    response.set_text(f"Bonjour, {name} !")


def on_exit(button):
    raise urwid.ExitMainLoop()


edit = urwid.Edit("Entrez votre nom : ")
submit = urwid.Button("Valider")
response = urwid.Text("")
quit_button = urwid.Button("Quitter")

urwid.connect_signal(submit, "click", on_submit, edit)
urwid.connect_signal(quit_button, "click", on_exit)

pile = urwid.Pile([edit, submit, response, quit_button])
fill = urwid.Filler(pile, valign="top")
loop = urwid.MainLoop(fill)
loop.run()