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

Affichage des résultats du sondage: Des GUI en Python, c'est avec...

Votants
36. Vous ne pouvez pas participer à ce sondage.
  • PyQt / PySide

    13 36,11%
  • Tkinter

    6 16,67%
  • PyGTK

    4 11,11%
  • wxPython

    8 22,22%
  • Un autre

    2 5,56%
  • Python et les GUI, ça fait deux

    0 0%
  • Je ne fais pas de GUI

    3 8,33%
GUI Python Discussion :

Pour les interfaces graphiques, PyGTK ou PyQt4 ? Un autre ?


Sujet :

GUI Python

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 587
    Points
    188 587
    Par défaut Pour les interfaces graphiques, PyGTK ou PyQt4 ? Un autre ?
    Pour développer une application graphique avec Python, un certain choix est disponible : Tkinter, pyFltk, PyQt, PyQtk, PySide, wxPython... Certains vont même jusqu'à déconseiller l'utilisation de Python pour les interfaces graphiques, alors que d'autres sites disent le contraire, avec même de quoi sélectionner le framework graphique le plus adapté. Voici un retour d'expérience sur le choix d'un framework graphique pour une application Python. Fallait-il vraiment le faire en Python ?

    Citation Envoyé par Christophe Kibleur
    J'ai récemment eu une discussion avec Armin Ronacher (que j'admire beaucoup soit dit en passant), qui me demandait pourquoi je n'avais pas choisi PyGtk au lieu de PyQt4 pour coder PyK.

    Selon lui, PyGtk est un bon toolkit, bien pensé dans son architecture. Je suis tout à fait d'accord là-dessus mais mon choix s'était fait suivant certains points :
    • J'ai adoré les démos fournies par Qt4, vraiment impressionnantes ;
    • Ma première interface graphique avait été réalisée il y a longtemps et se nommait TeXBases, avec Ruby + Gtk et j'en ai gardé des souvenirs cauchemardesques en ce qui concernait la doc de l'époque. Finalement, j'avais fini par la recoder en PyQt4 ;
    • J'ai découvert qu'il existait une alternative à Scintilla dans Qt4, celle-ci me permettrait de coder ma propre coloration syntaxique, mon folding, etc.; maintenant, avec du recul je peux vous affirmer que celle-ci est loin d'être au point (lenteur, incohérences, ). Bien sûr, je suis loin d'être un excellent codeur, mais même les bêtes de course sous Qt4 le disent et on voit plein de projets switcher d'un coup sous Scintilla tellement c'est abominable.
      Exemple : j'avais implémenté les numéros de ligne dans PyK. Résultat : affichage d'une lenteur inouie pour un fichier dépassant les 5 Ko ! Oui, on peut faire beaucoup de choses avec Qt4, mais pas ça (c'est faisable, mais toujours lent cependant en C++) ;
    • J'avais déjà réalisé reStInPeace et cela m'a aidé à coder PyK.

    Cela ne signifie pas l'abandon de PyQt4 pour ma part, loin s'en faut ; mais j'ai envie d'aller voir ailleurs un petit moment... ne serait-ce que pour pouvoir étendre les capacités d'autres logiciels communs sous Linux (GEdit, Vim, etc.).

    Alors aujourd'hui je me suis mis à glâner divers renseignements sur PyGtk, et surtout des liens nouveaux et peu connus. C'est fou comme Gtk a évolué, notamment avec Glade3 dont l'interface ne ressemble plus à TheGimp. Dire qu'il a fallu des projets auxiliaires comme Gazpacho pour ça saute aux yeux de tout le monde !

    J'aurai aussi certaines critiques à faire sur Gtk en général sur le peu que j'ai vu :
    • Glade 3, c'est bien, mais placer par défaut un GtkWindow en mode invisible me paraît vraiment complètement débile ;
    • Certains widgets ne sont pas dans Glade 3 (GtkSourceView, GtkHTML, etc.) ;
    • Fautes de frappe dans Devhelp qui font perdre du temps. Exemple : set_tabs_width au lieu de set_tab_width.
    Avez-vous déjà essayé ces deux bindings, PyGtk et PyQt4 ? Quelle en est votre expérience ? Comment s'est fait votre choix ? Avez-vous préféré un autre binding ?
    Ou bien êtes-vous à l'opposé : Python, c'est bien mais pas pour des GUI. Quels sont vos griefs ? Que manque-t-il à Python ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    PyGTK s'est sans doute amélioré, il fut une époque où il ne valait mieux pas trop l'utiliser en multithread. Plutôt que PyGTK, je prendrai wxPython.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Je connais peu de GUI écrits en Python.

    Par contre, il existe des "bindings" qui permettent d'écrire des IHM avec Python qui utiliseront les GUI: Wx, GTK, Qt,...

    A la base ces bindings n'apportent aucune fonctionnalité supplémentaire: elles permettent d'utiliser les existantes...

    Préférer Qt à Wx ou le contraire, pourquoi pas, mais pourquoi mettre Python dans la balance pour un tel choix?

    Par contre, nous pourrions avoir une discussion plus pythonique sur un thème proche... est ce que
    satisfont ceux qui s'intéressent à Python pour faire du RAD.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Points : 970
    Points
    970
    Par défaut
    bonsoir,

    je ne connais pas PyGTK, j'utilise PyQt/QtDesigner pour des interfaces simples. Je suis satisfait du résultat.

    comment s'est fait mon choix ? après avoir fait du Tkinter qui est limité, il était question de changer. Le facteur déclencheur est lié au fait que Tkinter n'est pas thread-safe. Le choix s'est porté entre wxPython et PyQt. C'est surtout QtDesigner qui a fait la différence. Je n'ai pas du tout accroché à boa.

    la rapidité d'apprentissage de la librairie, facilitée par QtDesigner et QtAssistant et le livre de Mark Summerfield (Rapid GUI Programming with Python and Qt) m'a convaincu de ce choix.

    j'avais aussi parcouru wxPython in action et fais quelques tests avec WxPython, ça m'a beaucoup plus.

    ensuite, je pense que le lien pointant les lacunes de Python en terme d'IHM est dépassé et un brin malhonnête. comment peut on tirer une telle conclusion avec seulement les tests qui ont été faits ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Points : 6
    Points
    6
    Par défaut PySide
    Je vous conseille PySide
    http://www.pyside.org/

    PySide est License LGPL et avec l'API compatible PyQt (License GPL)

  6. #6
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut
    Bonsoir,

    moi pour le moment je fait mes GUI avec Tkinter. Depuis le début ça allait mais je pense que je vais bientôt me mettre à wxPython. J'ai vu des interfaces avec et j'apprécie beaucoup.

    @+ et bon code
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

  7. #7
    Membre confirmé

    Profil pro
    Développeur Java
    Inscrit en
    Mars 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 87
    Points : 537
    Points
    537
    Par défaut
    Bonsoir,
    Après plusieurs expériences en Python, j'ai trouvé la plupart des framework assez compliqués, peu maintenable et surtout peu sympathique esthétiquement.
    Je suis revenu de cette opinion en découvrant le binding Python PyQt pour le framework Qt de nokia.
    J'ai réussi à faire d'agréables interface graphique avec la facilité et la rapidité qui caractérise python ! j'ai d'ailleurs publié récemment un article d'introduction à PyQt sur developpez.net :
    http://ogirardot.developpez.com/introduction-pyqt/

    Un point qui m'a un peu refroidi, était le coté GPLv3 + license commerciale de PyQt, mais comme l'a signalé boulabiar le framework PySide est compatible en terme d'api avec PyQt et est totalement libre !
    Donc tout mon code a à peine évolué dans le passage de l'un à l'autre.
    et en plus le livre Rapid Programming with PyQt est un très bon ouvrage.

    Donc pour le point final, je recommande tout autant PySide et je suis de près son développement.
    D'ailleurs tous mes futurs articles seront avec PySide dans le rôle principal, surtout pour son coté LGPL.

    Bonne soirée,

    Olivier.

  8. #8
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Points : 366
    Points
    366
    Par défaut
    Hello,

    Personnellement je programme avec PyGTK, que je trouve à la fois simple et assez puissant. J'ai aussi utilisé Tkinter, qui est très pratique pour faire des boites de dialogues mais on est vite limité...

    Les IHM en python ne sont pas particulièrement lentes à condition de ne pas faire de bidouilles qui nécessitent un rafraichissement fréquent, comme par exemple implémenter les numéros de lignes dans une zone de texte (ça m'étonne d'ailleurs que ce ne soit pas disponible dans Scintilla). Mieux vaut utiliser les possibilités existantes d'un widget, ou même laisser tomber si la fonctionnalité n'est pas présente par défaut.

    En bref, PyGTK est très bien pour développer rapidement une interface à un soft, mais il vaut mieux ne pas en vouloir plus que ce que GTK peut offrir.


    Glade 3, c'est bien, mais placer par défaut un GtkWindow en mode invisible me paraît vraiment complètement débile ;
    Au contraire, si la fenêtre est visible par défaut elle va se rafraichir à chaque fois qu'on ajoute un widget, donc ça va prendre 3 plombes à démarrer. Mieux vaut construire l'IHM "hors écran" puis l'afficher à la fin.

    Certains widgets ne sont pas dans Glade 3 (GtkSourceView, GtkHTML, etc.) ;
    GtkSourceView supporte Glade3, comme de nombreux autres widgets qui ne sont pas distribués avec PyGTK, à condition de le compiler avec l'option adéquate.


    Fautes de frappe dans Devhelp qui font perdre du temps. Exemple : set_tabs_width au lieu de set_tab_width.
    J'ai aussi remarqué quelques erreurs dans la doc PyGTK, heureusement rares, mais c'est vrai que c'est gênant.


    -

  9. #9
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    pour ma part je réalise tout en tkinter et surtout depuis les versions 2.7 et supérieur en ttk (je vous conseil vraiment de jeter un coup d'oeil)
    pas de module supplémentaire à installé, que du bonheur

    souvent je me suis vu faire des IHM en html et javascript et mettre python côté serveur

  10. #10
    Invité
    Invité(e)
    Par défaut
    > wiztricks
    Merci pour les liens, je ne connaissais ni Camelot ni Traits
    vu que je fais moi-meme pas mal de developpement PyQt avec Elixir (et une pincee de mechanize et lxml...) je vais surement jeter un oeil a Camelot sous peu.

    Par contre, malgre quelques petites recherches, j'avoue que j'ai du mal a voir la valeur ajoutee par Traits.

    • Initialization: A trait has a default value, which is automatically set as the initial value of an attribute before its first use in a program.
    • Validation: A trait attribute's type is explicitly declared . The type is evident in the code, and only values that meet a programmer-specified set of criteria (i.e., the trait definition) can be assigned to that attribute. Note that the default value need not meet the criteria defined for assignment of values.
    • Delegation: The value of a trait attribute can be contained either in the defining object or in another object delegated to by the trait.
    • Notification: Setting the value of a trait attribute can notify other parts of the program that the value has changed.
    • Visualization: User interfaces that allow a user to interactively modify the value of a trait attribute can be automatically constructed using the trait's definition.

    Initialisation, ben on connait deja non, les arguments par defaut ?
    Validation, vu que le typage est verifie au runtime, qu'est ce que ca change ?
    Delegation, en tant qu'utilisateur PyQt je m'en sers deja pas mal
    Notification => signal/slot ?

    Je dis tout ca sans arriere pensee, je ne demande qu'a etre convaincu !!!

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1
    Points : 3
    Points
    3
    Par défaut WXPython
    Pour ma part on m'a imposé l'utilisation de wxPython
    Je peux dire qu'on peut faire pas mal de chose et assez rapidement.
    J'utilise wxGlade ,pour générer les interfaces , et Eclipse pour le code Python .

    J'ai fait une application avec plusieurs connexions TCP/IP en parallèle , qui fait pas mal de calcul et rafraichit l'IHM en temps réel , ça marche mais ça consomme beaucoup trop de CPU et de mémoire . Donc si c'était à refaire j'opterais pour C++/QT.


    A mon avis les inconvénients majeurs de Python/WxPython:

    -Les mises à jour de wxPython ne sont pas très fréquentes (1 fois par an en moyenne ).
    -Impossibilité d'utiliser les multi-core du PC à cause du "Global Interpreter Lock" .
    -Manque de documentation .

  12. #12
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 73
    Points
    73
    Par défaut wxPython et PythonCard
    Bonjour,
    - Pour moi, après avoir testé un peu toutes les librairies graphiques pour Python, c'est avec wxPython et PythonCard que je tourne depuis 6 ans.
    Certes, PythonCard n'est pas aussi zolie et complet que QtDesigner (loin s'en faut ) mais il fonctionne toujours très bien et est complètement 'pythonic' : on peut mettre les mains dans le cambouis sous le capot quand on veut améliorer les choses ou les mettre à son gout.
    - Aucun problème d'intégration insolvable dans un projet de déploiement avec py2exe
    - Reste que wxPython (et donc pythoncard) n'a pas encore été porté, à l'heure actuelle, vers Python 3 ... mais c'est prévu

  13. #13
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par Bibi218 Voir le message
    Je dis tout ca sans arriere pensee, je ne demande qu'a etre convaincu !!!
    Traits utilise wx ou Qt en backend. La validation, ça permet de certifier les données qui vont entrer. Grosso modo, c'est remettre du typage fort dans l'appli, ce qui n'est pas de refus dans une application lourde.
    Après, les notifications, c'est une manière d'écrire les mises à jour lorsqu'on modifie une propriété. C'est plus pratique quand un attribut est un Trait que de créer une propriété, un signal, un slot, ... avec les inconvénients du langage sous-jacent (i.e. les ()).
    Quand on voit ce que donne VTK avec Traits, c'est le jour et la nuit en terme d'utilisabilité.

  14. #14
    Invité
    Invité(e)
    Par défaut
    A ma connaissance, le typage est fort en python
    Donc pour cette validation, je suppose que c'est une facon elegante de faire un assert sur le type des variables en entree, j'ai bon ?
    Je faisais plus ou moins la meme chose avec des decorateurs jusqu'a present, mais c'etait assez moche effectivement.

    Je viens de trouver une introduction a Traits sur la PyCon2010, je vais y jeter un oeil !
    Mais j'ai du mal a me figurer certaines choses.

    PyQt est un backend, concretement ca veut dire que TraitsUI fait sa sauce et que je n'ai pas trop mon mot a dire ? Ou alors je garde quand meme la meme flexibilite qu'avec du pur PyQt ?

  15. #15
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Oups, pardon, je voulais dire statique au lieu de dynamique...

    Traits encapsule PyQT ou wxPython. Tu as une certaine liberté, mais tu ne peux pas faire ce que tu veux, tout comme avec PyQt, tu ne peux pas faire la même chose qu'en dessinant directement toi-même les fenêtres.

  16. #16
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Bonjour,

    Puisqu'on parle de Traits, dans le même genre, je vous propose de découvrir la dernière création de Phil Thompson :

    http://www.riverbankcomputing.com/st...dip/index.html

    C'est tout frais, ça date de juillet.

    Python3 au départ mais porté sur python 2.x par la suite.

  17. #17
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Citation Envoyé par VinsS Voir le message
    Bonjour,

    Puisqu'on parle de Traits, dans le même genre, je vous propose de découvrir la dernière création de Phil Thompson :

    http://www.riverbankcomputing.com/st...dip/index.html

    C'est tout frais, ça date de juillet.

    Python3 au départ mais porté sur python 2.x par la suite.
    Merci pour le lien, j'ai parcouru la documentation en diagonale, çà vaut le coup d'oeil. Ceci dit "Traits GUI" me semble comparable a ce que dip appelle model - défaut, typage, délégation inclus(*) - . dip semblant être un framework RAD beaucoup plus large que la partie 'IHM' dont c'est le sujet ici.

    Les versions Python 2.x sont à priori disponible depuis Juillet.
    - W

    (*) : ce sont les fonctionnalités de base qui font que... on a des soucis quand elles ne sont pas là.
    Python est typé, certes! Mais ce bout est généralement "frontière" avec des représentations externes et nécessite parfois des conversions de type.
    Exempte: Dans un document XML un integer est représenté sous la forme d'un "string". S'il est utile qu'à la "frontière" ce string puisse être traité comme un "int", il va bien falloir définir le type - par défaut -.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  18. #18
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    J'ai commencé avec tkinter. Comme il m'a semblé un peu juste pour ce que je voulais faire, j'ai regardé du côté des compléments: tix et pmw. J'ai découvert que tix était fourni avec l'installation de Python, mais impossible de savoir ce qu'il y a dedans ni comment s'en servir. Il y a même une demo en tcl, mais je n'ai pas trouvé comment la lancer. Bref, une vrai punition...

    J'ai regardé alors du côté des autres bibliothèques. Je veux un ensemble qui me permette de réaliser des programmes graphiques autonomes, en multiplateforme à partir de Windows, et de construire des fenêtres avec un RAD. Un peu comme avec Delphi.

    J'ai commencé par wxPython. Mais d'une part j'ai eu du mal avec boa constructor (des bugs ou des maladresses de ma part?) et d'autre part, je ne sais toujours pas si il y aura un jour une version "Python 3.x". Désolé, mais le temps d'investissement personnel est important pour apprendre une bibliothèque graphique, et je veux m'assurer qu'il y aura continuité dans le futur.

    J'ai regardé ensuite PyGtk+. Comme je connais bien gnome, j'avais un avis plutôt favorable, mais j'ai été rebuté par Glade. Et puis, non d'un chien, qu'est-ce que c'est compliqué à installer: cairo? ATK?, pango? Glib? je n'ai pas besoin de connaître tout cela dans un 1er temps.

    Je me suis finalement arrêté sur PyQt4 (PySide n'existe pas sous Windows): installation super simple sous Windows, même s'il faut aussi Qt4 pour avoir la doc. Existe sous les différentes versions de Python, y compris 2.7 et 3.x. Bibliothèque très complète, y compris, par exemple, des widgets directement connectés à une base de données SQL. Qt Designer marche très bien, même s'il n'est pas parfait. cx_freeze me permet de rendre le programme autonome, et innosetup de l'installer comme n'importe quel programme windows. Etc...

    En contrepartie, la doc est en C++ et en anglais, et il y a très peu de tuto, même en anglais. Le moindre problème nécessite de chercher avec google sur 20 ou 30 sites, et une fois sur 2, il faut se débrouiller tout seul avec le C++. Tous les exemples en C++ n'ont pas été traduits en Python. Bref, c'est douloureux. Mais une fois qu'on a trouvé, ça marche très bien et c'est très esthétique!

    Sinon, je développe avec Eclipse + PyDev. J'en ai essayé beaucoup d'autres, mais je reviens toujours à Eclipse. J'ai essayé eric4 (Qt4), mais j'ai rencontré beaucoup de pb avec: désolé, mais j'ai déjà du mal à débugger mes programmes, je ne veux pas en plus avoir à débugger l'outil de développement...

    J'avoue qu'en tant que fan de Python, je suis un peu surpris du manque d'intérêt de ses concepteurs pour la partie graphique, limitée au basique tkinter.

    Sans la partie graphique, Python n'est qu'un super langage de script.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  19. #19
    Invité
    Invité(e)
    Par défaut
    J'avais egalement regarde dip il y a 2 mois, mais comme a l'epoque seul Python 3 etait supporte, j'avais passe mon chemin.
    Decidement, Phil Thompson est vraiment actif, j'espere que l'arrivee PySide ne va pas couler sa boite, vu que PyQt c'est vraiment du bonheur pour developper...

    Du coup, dip et Traits, similaires dans le principe ?
    je vais surement essayer dip, ou du moins lire serieusement la doc ^^

  20. #20
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Heu...

    Citation Envoyé par Bibi218 Voir le message
    Du coup, dip et Traits, similaires dans le principe ?
    je vais surement essayer dip, ou du moins lire serieusement la doc ^^
    dip est beaucoup plus vaste que le composants qu'ils appellent "model" et dont la fonction est semblable à Traits.
    Seul ce composant de dpi est comparable et/ou similaire à Traits.
    Pour le reste, dip se comparerait plutôt à ETS (Enthought Tools Suite): tout deux sont des frameworks qui organisent quelque peu le code, proposent des solutions 'prêtes à l'emploi' pour résoudre facilement nombre de problèmes récurrents,...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Potentiel pour les interfaces graphiques
    Par Egan69 dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 15/07/2013, 23h31
  2. Réponses: 7
    Dernier message: 20/05/2010, 17h04
  3. Designer pour les interfaces graphiques sous eclipse
    Par anas.eh dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 15/10/2007, 10h30
  4. Quel outil pour créer les interfaces graphique en Java ?
    Par youp_db dans le forum Interfaces Graphiques en Java
    Réponses: 9
    Dernier message: 11/01/2006, 07h30

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