Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tkinter, Pyqt ou pyGTK?

Difficile de comparer quand on débute

    24 novembre 2010 à 18:50:47

    Bonjour.

    Je suis en train de me mettre doucement à python et dans mon cours (Swinnen) ça parle de Tkinter.
    Comme tout le monde chie dessus sur irc sans forcement argumenter, et que les avis sont très partagés entre pyqt et pyGTK je viens demander des avis sur un support un peu plus "fixe".
    Quels sont les avantages et les inconvénients de ces 3 outils?
    Sachant que j'utilise lxde (gtk) ne vaut il pas mieux, pour commencer, que je me tourne vers gtk?

    Quels cours/tutos me conseillez vous?

    Merci beaucoup
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      24 novembre 2010 à 19:20:33

      Je débute aussi dans ce langage et je me suis posé les mêmes questions que toi cet après-midi. ^^ Personnellement j'ai commencé à découvrir Tkinter pour trois raisons :

      - c'est portable et adapté graphiquement à chaque OS (je suis sous Mac)
      - c'est fourni avec Python donc pas d'installation fastidieuse (mauvais souvenirs de Ruby...)
      - c'est compatible avec Python 3

      Le gros problème auquel je me suis retrouvé confronté c'est qu'il y a peu de documentation claire, même sur le site officiel. Donc j'utilise un site qui liste les classes pour voir un peu comment ça marche et ça vient assez rapidement quand tu sais ce que tu veux faire. Après, il faut dire que je souhaite faire des utilitaires très basiques donc je ne sais pas si c'est adapté aux gros projets...
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        24 novembre 2010 à 20:03:12

        Citation

        Bonjour.

        Je suis en train de me mettre doucement à python et dans mon cours (Swinnen) ça parle de Tkinter.
        Comme tout le monde chie dessus sur irc sans forcement argumenter, et que les avis sont très partagés entre pyqt et pyGTK je viens demander des avis sur un support un peu plus "fixe".
        Quels sont les avantages et les inconvénients de ces 3 outils?
        Sachant que j'utilise lxde (gtk) ne vaut il pas mieux, pour commencer, que je me tourne vers gtk?

        Quels cours/tutos me conseillez vous?

        Merci beaucoup



        Se sont des questions déjà posés énormément de fois sur ce forum. Tu peux utiliser l'outil de recherche du forum.

        Qui puis-est tu ne donnes aucun argument permettant de choisir l'un ou l'autre, alors ne t'étonnes pas si personne ne tranche pour tel ou tel bibliothèque graphique.

        • Partager sur Facebook
        • Partager sur Twitter
          24 novembre 2010 à 20:24:49

          Allez soyons fous, j'ai du temps à perdre :

          Tkinter


          Avantages :
          • Inclus dans la bibliothèque python standard
          • ... donc de très nombreux cours pour débutants l'abordent
          • ... et ça fonctionne out of the box.

          Inconvénients :
          • L'API sent le vieux, et n'est pas très souple
          • C'est MOCHE

          En résumé, c'est pas mal pour commencer mais tu vas vite en atteindre les limites.

          PyGTK


          Avantages :
          • Dans ton cas, c'est natif pour ton WM
          • Permet de faire les choses de manière pythonique
          • Couplé avec Glade, permet de dessiner tes interfaces en WYSIWYG

          Inconvénients :
          • Pas super-portable (chiant à installer sous Windows, par exemple)


          PyQt


          Avantages :
          • Framework ultra-complet (GUI, XML, BDD, Sockets, Threads...)
          • "Un peu plus" portable que PyGtk
          • Beaucoup de doc sur le web (même en lisant/adaptant les tutos C++ ça fonctionne)
          • Fonctionne avec tous les outils Qt (Designer, Linguist,...)

          Inconvénients :
          • L'approche Qt : "je fais tout avec Qt" (perso j'accroche pas)
          • Pas assez éloigné de l'implémentation C++ (obligé de tenir compte des types dans les signaux/slots... même en Python o_O ) à mon goût


          Bref. J'aurais tendance à te conseiller PyGTK, vu que tu bosses sous lxde. C'est un choix "équilibré".
          • Partager sur Facebook
          • Partager sur Twitter
          Zeste de Savoir, le site qui en a dans le citron !
            24 novembre 2010 à 21:08:03

            Bonjour,

            Il ne faut pas oublier wxpython, qui est plutôt complet, facilement portable, et plus pythonesque que pyqt (à mon gout).
            • Partager sur Facebook
            • Partager sur Twitter
              24 novembre 2010 à 21:41:27

              Citation : NoHaR

              • Beaucoup de doc sur le web (même en lisant/adaptant les tutos C++ ça fonctionne)


              C'est aussi applicable à PyGTK hein.

              Exemple:
              GdkWindow *         gtk_text_view_get_window            (GtkTextView *text_view,
                                                                       GtkTextWindowType win);
              


              ça donne ça:
              text_view.get_window()
              


              (ou un truc du genre :d)
              • Partager sur Facebook
              • Partager sur Twitter
                25 novembre 2010 à 8:58:47

                @NoHar: Tu es certain que GTK est disponible nativement sous OS X? J'ai passé pas mal de temps à me renseigner et chercher un module python pour faire des GUI, et je n'ai trouvé que peu de renseignements sur l'installation de GTK sur mac.

                En fait, d'après ce que j'ai compris, on peut utiliser GTK "nativement", mais il semblerait qu'il manque certains éléments à la version OS X. L'autre option c'est d'utiliser X11, mais dans ce cas, c'est plus moche encore que Tkinter..
                • Partager sur Facebook
                • Partager sur Twitter
                  25 novembre 2010 à 9:04:19

                  Pour OSX je ne saurais pas me prononcer.

                  Je sais juste qu'avec lxde, gnome et compagnie, c'est natif.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Zeste de Savoir, le site qui en a dans le citron !
                    25 novembre 2010 à 9:22:03

                    Ah autant pour moi, j'ai mélangé deux posts. Désolé
                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 décembre 2010 à 2:34:24

                      Je voudrais pas faire mon lourd mais il y a aussi wxPython.

                      Je sais, ce n'est pas dans les trois choix proposés mais c'est un bon choix il me semble si tu veux des widgets "natifs" (dans la mesure du possible) sous toutes les plateformes.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 décembre 2010 à 22:00:22

                        Au dernières nouvelles, les gens utilisent de moins en moins wxpython à ce que je vois…
                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 décembre 2010 à 0:37:55

                          Ouai parce que c'est un peu plus chiant à utiliser, et je pense qu'il y a des features cool intégrées dans les libs citées précédemment, mais que tu dois faire toi même quand tu utilises WXpython
                          • Partager sur Facebook
                          • Partager sur Twitter
                            11 décembre 2010 à 11:29:32

                            Citation : Plug'n'Play 512

                            Ouai parce que c'est un peu plus chiant à utiliser


                            Que trouves-tu de plus "chiant" dans wxPython. Pour ma part je trouve qu'il est plutôt simple d'utilisation (du moins pas plus compliqué que pyqt), et une documentation complète.

                            Citation : Plug'n'Play 512

                            et je pense qu'il y a des features cool intégrées dans les libs citées précédemment, mais que tu dois faire toi même quand tu utilises WXpython


                            De quelles features parles-tu?
                            Il est vrai que pyqt est plus complet que wxpython, mais wxpython n'a pas à rougir.
                            Il y a même un RAD plutôt sympa: wxformbuilder.

                            J'ai utilisé wxpython pendant longtemps, puis pyqt. C'est vrai que pyqt c'est sympa, mais je trouve wxpython mieux intégré à python, et je pense que pour mes prochaines applications, je reviendrai à wxpython.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Tkinter, Pyqt ou pyGTK?

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown