IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Gooey transforme presque n'importe quel programme console Python en une application GUI complète


Sujet :

Python

  1. #1
    Chroniqueur Actualités
    Avatar de Anthony
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Novembre 2022
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Novembre 2022
    Messages : 938
    Points : 15 562
    Points
    15 562
    Par défaut Gooey transforme presque n'importe quel programme console Python en une application GUI complète
    Gooey transforme presque n'importe quel programme console Python en une application GUI complète, et vous permet de vous concentrer sur la construction de programmes robustes et configurables

    Transformez (presque) n'importe quel programme de console Python 3 en une application GUI en une seule ligne. Gooey convertit vos applications console en applications graphiques conviviales pour l'utilisateur final. Il vous permet de vous concentrer sur la construction de programmes robustes et configurables d'une manière familière, sans avoir à vous soucier de la manière dont ils seront présentés à l'utilisateur moyen et avec lesquels il interagira.

    Pourquoi Gooey ?

    Parce qu'autant nous aimons l'invite de commande, autant le reste du monde la considère comme une laide relique du début des années 80. De plus, la plupart du temps, les programmes ont besoin de faire plus qu'une seule chose, et cela implique de donner des options, ce qui signifiait auparavant soit construire une interface graphique, soit essayer d'expliquer comment fournir des arguments à une application console. Gooey a été conçu pour (espérons-le) résoudre ces problèmes. Il rend les programmes faciles à utiliser, et jolis à regarder.


    A qui s'adresse-t-il ?

    Si vous construisez des utilitaires pour vous-même, pour d'autres programmeurs, ou quelque chose qui produit un résultat que vous voulez capturer et envoyer vers une autre application console (par exemple *nix philosophy utils), Gooey n'est probablement pas l'outil qu'il vous faut. Cependant, si vous construisez des scripts de type "run and done", des scripts de type "around-the-office", des choses qui envoient des bits d'un point A à un point B, ou simplement quelque chose qui s'adresse à un non-programmeur, Gooey est l'outil parfait pour ce travail. Il vous permet de construire une application aussi complexe que vous le souhaitez, tout en bénéficiant gratuitement de l'interface graphique.


    Instructions d'installation

    La façon la plus simple d'installer Gooey est via pip.


    Vous pouvez également installer Gooey en clonant le projet dans votre répertoire local :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    git clone https://github.com/chriskiehl/Gooey.git

    Exécuter setup.py.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    python setup.py install

    Comment fonctionne Gooey ?

    Gooey est attaché à votre code via un simple décorateur sur n'importe quelle méthode contenant vos déclarations argparse (habituellement main).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @Gooey
    def my_run_func():
      parser = ArgumentParser(...)
      # rest of code

    Au moment de l'exécution, il analyse votre script Python pour y trouver toutes les références à ArgumentParser (l'ancien optparse n'est actuellement pas pris en charge). Ces références sont ensuite extraites, un component type leur est attribué en fonction de l'"action" qu'elles fournissent, et elles sont finalement utilisées pour assembler l'interface graphique.

    Différents styles et fonctionnalités peuvent être configurés en passant des arguments au décorateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    # options
    @Gooey(advanced=Boolean,          # toggle whether to show advanced config or not 
           language=language_string,  # Translations configurable via json
           auto_start=True,           # skip config screens all together
           target=executable_cmd,     # Explicitly set the subprocess executable arguments
           program_name='name',       # Defaults to script name
           program_description,       # Defaults to ArgParse Description
           default_size=(610, 530),   # starting size of the GUI
           required_cols=1,           # number of columns in the "Required" section
           optional_cols=2,           # number of columns in the "Optional" section
           dump_build_config=False,   # Dump the JSON Gooey uses to configure itself
           load_build_config=None,    # Loads a JSON Gooey-generated configuration
           monospace_display=False)   # Uses a mono-spaced font in the output screen
    )
    def main():
      parser = ArgumentParser(...)
      # rest of code

    Gooey fera de son mieux pour choisir les valeurs par défaut des widgets à afficher dans l'interface graphique. Cependant, si un réglage plus fin est souhaité, vous pouvez utiliser le substitut GooeyParser à la place d'ArgumentParser. Cela vous permet de contrôler quel widget s'affiche dans l'interface graphique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    from gooey import Gooey, GooeyParser
     
    @Gooey
    def main():
      parser = GooeyParser(description="My Cool GUI Program!") 
      parser.add_argument('Filename', widget="FileChooser")
      parser.add_argument('Date', widget="DateChooser")
      ...

    Exemples

    Gooey a été téléchargé et installé ? Superbe ! Vous voulez le voir en action ? Rendez-vous sur le dépôt d'exemples pour télécharger quelques scripts d'exemple prêts à l'emploi. Ils vous donneront un aperçu rapide des différentes mises en page, widgets et fonctionnalités de Gooey.

    Source : Gooey (GitHub)

    Et vous ?

    Que pensez-vous de Gooey et de ses fonctionnalités ?

    Voir aussi

    Python 3.12 : la dernière version apporte des modifications du langage et de la bibliothèque standard, elle comporte aussi une amélioration des messages d'erreur

    Les organisateurs de la conférence africaine DjangoCon critiquent le manque de soutien de la Python Software Foundation dans une lettre ouverte

    Le plan de travail pour la future version 3.13 de Python a été dévoilé, et vise la réduction d'au moins 50 % du temps passé dans l'interpréteur ainsi qu'une meilleure gestion de la mémoire
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Les bras m'en tombent
    Je ne sais pas quoi dire devant tant de vide.

    C'est simplement une meta structure mêlée a son propre code.

    Je pensais bêtement que ca allais auto générer l'interface. Et non pas quil fallait ajouter au code.

    Je suis déçu... au final c'est du php ou autre structure mêlée.

Discussions similaires

  1. [Jenkins] intégration de n'importe quel programme (N'importe quel langage)
    Par fayabobo dans le forum Intégration Continue
    Réponses: 1
    Dernier message: 06/03/2014, 08h51
  2. Quels API's utiliser pour une application en rapport avec Autocad?
    Par Angelsoul dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 31/07/2008, 15h21
  3. Quel type de BD pour une application simple?
    Par Bapt.ice dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 21/05/2007, 16h47
  4. Réponses: 3
    Dernier message: 05/05/2007, 17h53
  5. Réponses: 4
    Dernier message: 25/04/2005, 19h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo