# Boîtes de dialogue Tkinter

## `tkinter.simpledialog` – Boîtes de dialogue de saisie standard de Tkinter

Code source : Lib/tkinter/simpledialog.py

Le module `tkinter.simpledialog` contient des classes pratiques et des fonctions pour créer des boîtes de dialogue modales simples afin d'obtenir une valeur de l'utilisateur.

tkinter.simpledialog.askfloat(title, prompt, **kw)
tkinter.simpledialog.askinteger(title, prompt, **kw)
tkinter.simpledialog.askstring(title, prompt, **kw)

  Les trois fonctions ci-dessus fournissent des boîtes de dialogue qui invitent l'utilisateur à saisir une valeur du type souhaité.

class tkinter.simpledialog.Dialog(parent, title=None)

  Classe mère pour les boîtes de dialogue personnalisées.

  body(master)

    À remplacer pour construire l'interface de la boîte de dialogue et renvoyer le widget qui doit avoir le focus initial.

  buttonbox()

    Le comportement par défaut ajoute les boutons OK et Annuler. À remplacer avoir une disposition de boutons personnalisée.

## `tkinter.filedialog` – Boîtes de dialogue de sélection de fichiers

Code source : Lib/tkinter/filedialog.py

Le module `tkinter.filedialog` fournit des classes et des fonctions de fabrique pour créer des fenêtres de sélection de fichiers ou répertoires.

### Boîtes de dialogue de chargement et sauvegarde natives

Les classes et fonctions suivantes fournissent des fenêtres de dialogue de fichiers qui combinent une apparence native avec des options de configuration pour personnaliser le comportement. Les arguments nommés suivants s'appliquent aux classes et fonctions répertoriées ci-dessous :

> parent – la fenêtre sur laquelle placer la boîte de dialogue
> title – le titre de la fenêtre
> initialdir – le répertoire dans lequel la boîte de dialogue démarre
> initialfile – le fichier sélectionné à l'ouverture de la boîte de dialogue
> filetypes – une séquence de n-uplets (étiquette, motif), le caractère générique `'*'` est autorisé
> defaultextension – extension par défaut à ajouter au fichier (boîtes de dialogue de sauvegarde)
> multiple – lorsque vrai, la sélection de plusieurs éléments est autorisée

Fonctions statiques de fabrique

Les fonctions ci-dessous, lorsqu'elles sont appelées, créent une boîte de dialogue d'apparence modale native, attendent la sélection de l'utilisateur, puis renvoient la ou les valeurs sélectionnées ou `None` à l'appelant.

tkinter.filedialog.askopenfile(mode='r', **options)
tkinter.filedialog.askopenfiles(mode='r', **options)

  Les deux fonctions ci-dessus créent une boîte de dialogue `Open` et renvoient le(s) objet(s) fichier ouvert(s) en mode lecture seule.

tkinter.filedialog.asksaveasfile(mode='w', **options)

  Crée une boîte de dialogue `SaveAs` et renvoie un objet fichier ouvert en mode écriture seule.

tkinter.filedialog.askopenfilename(**options)
tkinter.filedialog.askopenfilenames(**options)

  Les deux fonctions ci-dessus créent une boîte de dialogue `Open` et renvoient le(s) nom(s) de fichier sélectionné(s) qui correspondent au(x) fichier(s) existant(s).

tkinter.filedialog.asksaveasfilename(**options)

  Crée une boîte de dialogue `SaveAs` et renvoie le nom de fichier sélectionné.

tkinter.filedialog.askdirectory(**options)
  Demande à l'utilisateur de sélectionner un répertoire.
  Option nommée supplémentaire :
  mustexist – détermine si la sélection doit être un répertoire existant.

class tkinter.filedialog.Open(master=None, **options)
class tkinter.filedialog.SaveAs(master=None, **options)

  Les deux classes ci-dessus fournissent des fenêtres de dialogue natives pour enregistrer et charger des fichiers.

Classes de commodité

Les classes ci-dessous sont utilisées pour créer des fenêtres avec fichiers et répertoires à partir de zéro. Celles-ci n'imitent pas l'apparence native de la plateforme.

class tkinter.filedialog.Directory(master=None, **options)

  Crée une boîte de dialogue invitant l'utilisateur à sélectionner un répertoire.

Note

la classe FileDialog doit être sous-classée pour un comportement et une gestion des événements personnalisés.

class tkinter.filedialog.FileDialog(master, title=None)

  Crée une boîte de dialogue basique de sélection de fichiers.

  cancel_command(event=None)

    Déclenche la fermeture de la fenêtre de dialogue.

  dirs_double_event(event)

    Gestionnaire d'événements pour l'événement de double-clic sur le répertoire.

  dirs_select_event(event)

    Gestionnaire d'événements pour l'événement de clic sur le répertoire.

  files_double_event(event)

    Gestionnaire d'événements pour l'événement de double-clic sur le fichier.

  files_select_event(event)

    Gestionnaire d'événements pour un événement en un seul clic sur le fichier.

  filter_command(event=None)

    Filtre les fichiers par répertoire.

  get_filter()

    Récupère le filtre de fichiers actuellement utilisé.

  get_selection()

    Récupère l'élément actuellement sélectionné.

  go(dir_or_file=os.curdir, pattern='*', default='', key=None)

    Affiche la boîte de dialogue et lance la boucle d'événements.

  ok_event(event)

    Quitte la boîte de dialogue en renvoyant la sélection actuelle.

  quit(how=None)

    Sort de la boîte de dialogue en renvoyant le nom du fichier, le cas échéant.

  set_filter(dir, pat)

    Définit le filtre de fichiers.

  set_selection(file)

    Met à jour la sélection de fichiers actuelle vers file.

class tkinter.filedialog.LoadFileDialog(master, title=None)

  Sous-classe de FileDialog qui crée une fenêtre de dialogue pour sélectionner un fichier existant.

  ok_command()

    Teste qu'un fichier est fourni et que la sélection indique un fichier déjà existant.

class tkinter.filedialog.SaveFileDialog(master, title=None)

  Sous-classe de FileDialog qui crée une fenêtre de dialogue pour sélectionner un fichier de destination.

  ok_command()

    Teste si la sélection pointe vers un fichier valide qui n'est pas un répertoire. Une confirmation est requise si un fichier déjà existant est sélectionné.

## `tkinter.commondialog` – Modèles de fenêtre de dialogue

Code source : Lib/tkinter/commondialog.py

Le module `tkinter.commondialog` fournit la classe `Dialog` qui est la classe mère pour les dialogues définis dans d'autres modules.

class tkinter.commondialog.Dialog(master=None, **options)
  show(**options)

    Affiche la fenêtre de dialogue.

Voir aussi

Modules `tkinter.messagebox`, Lecture et écriture de fichiers