easygui
Accueil
Télécharger

easyguifr.py

 

@version: 0.96(2010-08-29)
http://easygui.sourceforge.net/index.html

A propos d'EasyGui en français, traduction : F. Laroche, http://
EasyGuiFr fournit une interface graphique simple d'usage pour l'utilisateur.
Elle ne nécessite aucune connaissance particulière du programmeur sur tkinter : cadres, widgets,, appels ou fonction lambda.
Toutes les interactions de la GUI (Graphic User Interface) sont appelées par de simples fonctions qui retournent généralement une valeur élémentaire.

Attention si vous utilisez EasyGuiFr avec IDLE :
vous pouvez rencontrer quelques probèmes de compatibilité avec IDLE : EasyGuiFr est un module tkinter qui utilise sa propre boucle de gestion
d'événements de même que IDLE est construit sur une base tkinter avec sa boucle.
Il se peut que les deux boucles rentrent en conflit avec des résultats imprévisibles ; si tel est le cas utilisez EasyGuiFr avec un autre EDI.

EasyGuiFr nécessite Tk version 8.0 ou plus.

Informations de License

 
Modules nécessaires
       
Tkinter ou Tkinter
Tix
Tkconstants
Tkdnd 
Tkinter en français (incomplet)
tkSimpleDialog
turtle 
tkColorChooser
tkCommonDialog
tkFileDialog
tkFont
tkMessageBox
 Easygui

 
Fonctions principales
       

Liste des fonctions

boite_oui_non

boite continuer annuler

boite_vrai_faux

boite_message

boite_erreur_programme

boite_bouton

boite_choix_numero

boite_choix

multboite_choix

 

saisie_base

saisie_entier

saisie_motdepasse

boite_code

boite_texte

multsaisie_base

 

multsaisie_motdepasse

 

 

repertoire_ouvre

 fichier_ouvre

fichier_sauve

 

 

  

boite_oui_non (msg="Veux tu continuer ?", titre=" ", choix=("Oui", "Non"), image=None):

    Affiche une boite_message avec les choix "Oui" (par défaut) et "Non".
    La valeur revoyée est un nombre  : 0 pour Non, 1 pour Oui ou si le choix est annulé.
    Si le programmeur ne passe pas de message en argument, une demande générique est envoyée pour confirmation que l'utilisateur souhaite continuer.
    On peut donc l'utiliser comme suit :
        if boite_oui_non(): pass # continue
        else: sys.exit(0)  # sortie du programme

    @arg msg: le message à afficher.
    @arg titre: le titre de la fenêtre.
    @arg choix: une liste de choix à afficher.

boite continuer annuler(msg="Veux tu continuer ?", titre=" ", choix=("Continuer", "Annuler"), image=None):

    Affiche une boite_message avec "Continuer" (défault -> 1) et "Annuler" (->0)
    Même fonctionnement que boite_oui_non
    Sans message argument foncctionne ainsi :
        if continue_annuler_box(): pass # continue
        else: sys.exit(0)  # quitter le programme

boite_vrai_faux(msg="Veux tu continuer ?", titre=" ", choix=("Vrai","Faux"), image=None):

    Affiche une boite_message avec "Vrai" (défault -> 1) et "Faux" (->0)
    Même fonctionnement que boite_oui_non
    Sans message l'argument fonctionne ainsi :
        if boite_vrai_faux(): pass # continue
        else: sys.exit(0)  # quitter le programme

boite_choix_numero(msg="Veux tu continuer ?", titre=" ", choix=("Oui","Non"), image=None):

    Affiche une boîte avec les choix passés en paramètre ;
    renvoie le numéro du bouton cliqué (en démarrant à 0),
    renvoie -1 si annulation.

boite_message(msg="(Ton message est ici)", titre=" ", ok_button="OK",image=None,root=None):

     Affiche une boite_message de base avec le seul bouton "OK"

boite_bouton(msg="Sélectionnez ",titre=" ", choix=("Bouton 1", "Bouton 2", "Bouton 3"), image=None, root=None):

    Affiche une boîte avec un message, un titre, une liste de boutons ;
    renvoie le texte du bouton choisi.

saisie_entier(msg="", titre=" ", defaut="", borneinf=0, bornesup=99, image = None, root  = None, **invalidKeywordArguments):

    Affiche une boite de saisie où l'utilisateur peut entrer un nombre entier ;
    la fonction a les arguments "defaut", "borneinf" et "bornesup" qui limitent la saisie.
    L'arg "defaut" peut valoir None.
    Si l'utilisateur n'entre pas les nombres corrects ou des chaines de caractères un message d'erreur est renvoyé et l'utilisateur recommence.
    L'entier saisi est renvoyé (pas le texte saisi). Si l'opération est annulée, None est renvoyé.

multsaisie_base(msg="Complètez les valeurs de chaque champ.", titre=" ", champs=(), valeurs=()):

    Affiche une boite avec plusieurs lignes de saisie.
    S'il y a moins de valeurs que de champs, la liste des valeurs est complétée avec des chaînes vides.
    S'il y a davantage de valeurs que de champs la liste des valeurs est tronquée.
    Retourne une liste avec les valeurs de chaque champ ou None si l'utilisateur annule l'action.

    Ci-dessous un exemple qui montre comment la liste retournée peut être vérifiée avant d'être acceptée :

        msg = "Entrez vos informations personnelles"
        titre = "Votre Adresse Personnelle"
        fieldNames = ["Nom","Prénom","Rue","Ville","Code Postal"]
        fieldValues = [ ]  # laissés en blanc pour démarrer
        fieldValues = multsaisie_base(msg,titre, fieldNames)     # assurez vous qu'aucun champ ne reste vide
        while 1:
            if fieldValues == None: break
            errmsg = ""
            for i in range(len(fieldNames)):
                if fieldValues[i].strip() == "":
                    errmsg += ('"%s" est un champ indispensable.\n\n' % fieldNames[i])
            if errmsg == "":
                break # pas de problèmes
            fieldValues = multsaisie_base(errmsg, titre, fieldNames, fieldValues)
        writeln("Votre réponse est : %s" % str(fieldValues))

    @arg msg: le msg à afficher.
    @arg titre: le titre de la fenêtre.
    @arg champs: la liste des noms de champs.
    @arg valeurs:  la liste des valeurs des champs.

multsaisie_motdepasse(msg="Complètez les valeurs de chaque champ.", titre=" ", champs=tuple(), valeurs=tuple()):

    Même interface que multsaisie_base, mais dans multpassword box, le dernier champ doit être un mot de passe qui sera masqué.
    Vous pouvez utiliser le même type de code que dans multsaisie_base.

saisie_base(msg="Entrez un texte :", titre=" ", defaut="", nettoie=True, image=None, root=None):

    Affiche une boite de saisie de texte.
    Vous pouvez préciser des valeurs par défaut pour le texte lequel apparaîtra dans la ligne de saisie.
    La fonction renvoie le texte entré ou None si l'utilisateur a annulé.
    Par défaut, saisie_base nettoie le resultat en enlevant les blancs en début et en fin de saisie. Si vous ne voulez pas, mettez nettoie=False.

saisie_motdepasse(msg="Entrez votre mot de passe :", titre=" ", defaut="", image=None, root=None):

    Affiche une boite où l'utilisateur peut rentrer un mot de passe.
    Le texte est masqué par des astériques, de sorte qu'on ne puisse le voir à l'écran.
    Renvoie le texte entré ou None si annulation.

multboite_choix(msg="Faites autant de choix que vous voulez", titre=" ", choix=(), **kwargs):

    Affiche une boite avec une liste de choix.
    On peut sélectionner plusieurs choix en cliquant sur chaque ligne.
    Retourne la liste des choix, éventuellement vide ; retourne None si annulation.

    @arg msg : le msg à afficher.
    @arg titre : le titre de la fenêtre.
   @arg choices : une liste de choix à afficher.

boite_choix(msg="Choisissez une possibilité", titre=" ", choix=()):

    Affiche une boite avec une liste de choix.
    On ne peut sélectionner qu'un seul choix.
    Retourne le texte du choix fait, éventuellement vide ; retourne None si annulation.

    @arg msg : le msg à afficher.
    @arg titre : le titre de la fenêtre.
    @arg choices : une liste de choix à afficher.

boite_erreur_programme(msg=None, titre=None):

    Affiche une boîte avec un message d'erreur généré par Python (except).
    On peut éventuellement rajouter un titre ou un message.
    La dernière exception déclarée par l'interpréteur est utilisée.

boite_code(msg="", titre=" ", text=""):

    Affiche un texte dans une police à taille fixe sans retour à la ligne.
    Cette fonction est utilisable pour afficher du code ou un texte formaté avec des blancs (HTML par ex.).
    Le texte doit être une chaîne ou une liste de lignes.
    Le texte peut être modifié, le retour sera le texte modifié.

boite_texte(msg="", titre=" ", text="", codebox=0):

    Affiche un texte dans une police proportionnelle avec retour automatique à la ligne.
    Cette fonction est utilisable pour afficher des textes standard.
    Le texte doit être une chaîne ou une liste de lignes.
    Le texte peut être modifié, le retour sera le texte modifié.

repertoire_ouvre(msg=None, titre=None, default=None):

    Boite de dialogue destinée à choisir un répertoire.
    Si un message est spécifié il est ignoré.
    Retourne le nom d'un répertoire ou None si annulation.
    Si "default" précise un répertoire valide, la boite démarre sur ce répertoire, sinon c'est le répertoire courant.

fichier_ouvre(msg=None, titre=None, default="*", filetypes=None):

    Boite de dialogue destinée à choisir un fichier.

    Info sur l'argument "default"
        L'argument "default" précise un chemin qui (normalement) contient un ou plusieurs jokers.
        fichier_ouvre va afficher seulement les fichiers qui coincident avec le masque fourni.
        Si "default" est omis, "*" est utilisé (tous les fichiers du répertoire courant).

        Exemple WINDOWS 1 :  ...default="c:/monrepertoire/*.py"
        ouvrira le répertoire c:\monrepertoire\ et affichera tous les fichiers Python.

        Exemple WINDOWS 2 : ...default="c:/monrepertoire/test*.py"
        ouvrira le répertoire c:\monrepertoire\ et affichera tous les fichiers Python dont le nom commence par test.

        Remarque: sous Windows, fichier_ouvre change automatiquement le séparateur de répertoire / (slash) de Python en sééparateur Windows : \ (antislash).

    Info sur l'argument "filetypes"
        S'il existe, il peut contenir une liste d'items, chaque item peut-être :
            - une chaîne contenant un masque comme "*.txt"
            - une liste de chaînes où toutes les chaines contiennent un masque sauf la dernière (chacune commencera par "*.", comme "*.txt" pour les fichiers texte, "*.py" pour les fichiers Python, etc.) ;
            - la dernière chaîne sera une description de fichier.
        Exemple :
            filetypes = ["*.css", ["*.htm", "*.html", "HTML files"]  ]

    Remarque
        Si la liste filetypes ne contient pas ("All files","*"), il sera ajouté.
        Si la liste filetypes ne contient pas de masque incluant l'extension de l'argument "default", il sera ajouté.
        Par exemple, si on a default="*abc.py" et qu'aucun filetypes n'est spécifié, alors *.py" sera ajouté.

    @rtype: chaîne ou None
    @retourne : le nom du fichier ou None si annulation.
    @arg msg: message à afficher.
    @arg titre: titre de la fenêtre.
    @arg default: chemin du fichier avec jokers.
    @arg filetypes: masques de fichiers comme "*.txt"

fichier_sauve(msg=None, titre=None, default="", filetypes=None):

    Boite de dialogue destinée à saisir le nom de sauvegarde d'un fichier.
    Retourne un nom de fichier ou None si annulation.
    "default" peut contenir un nom de fichier (le nom initial du fichier à enregistrer), ou vide ou contenir un masque incluant des jokers.
    "filetypes" fonctionne comme dans fichier_ouvre.

 INFORMATION de LICENSE EasyGuiFr version 0.96.01
Copyright (c) 2010, Stephen Raymond Ferg ; 2014, Frédéric Laroche. Tous droits réservés.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
    1. Redistributions of source code must retain the above copyright notice,
       this list of conditions and the following disclaimer. 
    2. Redistributions in binary form must reproduce the above copyright notice,
       this list of conditions and the following disclaimer in the documentation and/or
       other materials provided with the distribution.  
    3. The name of the author may not be used to endorse or promote products derived
       from this software without specific prior written permission. 
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

ABOUT THE EASYGUI LICENSE
This license is what is generally known as the "modified BSD license", aka "revised BSD", "new BSD", "3-clause BSD".
See http://www.opensource.org/licenses/bsd-license.php
This license is GPL-compatible.
See http://en.wikipedia.org/wiki/License_compatibility
See http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses
The BSD License is less restrictive than GPL. It allows software released under the license to be incorporated into proprietary products. 
Works based on the software may be released under a proprietary license or as closed source software.
http://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22New_BSD_License.22.29