2010-12-12 42 views
2

Je suis nouveau avec la programmation python et GUI. Je recherche sur Internet sur la programmation GUI et voir qu'il y a beaucoup de façons de le faire. Je vois que le moyen le plus facile pour l'interface graphique en python pourrait être tkinter (qui est inclus dans Python, et c'est juste la bibliothèque de GUI pas le constructeur de GUI)? Je lis aussi beaucoup de choses sur GLADE + PyGTK (et le format XML), qu'est-ce qu'il y a de si spécial (Glade est un constructeur GUI)?GUI Python (tkinter; pygtk + glade), py2exe

Quelqu'un peut-il faire une «opinion personnelle» à propos de ce choix?

J'ai du code python, j'ai besoin de faire une simple interface graphique (2 boutons-ouvrir-fermer-lire-écrire, et un certain travail "print") puis faire un fichier .exe (yat-il le meilleur choix py2exe =?) . Y a-t-il beaucoup de changements dans le code pour créer une interface graphique?

Un grand merci

Répondre

0

Si votre interface graphique est vraiment simple, vous devriez utiliser le tkinter intégré.

Il y a un tutoriel Hello, Tkinter que vous pouvez suivre, c'est assez simple. Concernant la création d'exécutables, py2exe devrait fonctionner sans problèmes dans la plupart des cas (bien que je n'ai pas essayé avec tkinter). Une autre façon de créer un fichier exécutable est d'ajouter un paramètre spécial à votre fichier « setup.py »:

setup(..., 
     entry_points = {"gui_scripts" : ['name-of-executable = name_of_package.launcher:main']}) 

Ceci, par exemple, créer un fichier exécutable qui peut être exécuté en tapant « nom-de-exécutable » dans un terminal (même sous Windows si le chemin "scripts" de Python est dans le PATH ^^). Il exécute la fonction "main" dans le module appelé "name_of_package". De cette façon, vous n'avez pas besoin d'utiliser py2exe mais vous pouvez créer un programme d'installation Windows ou un paquet Debian, par exemple.

Pour les projets plus complexes, je peux absolument recommander PyGTK avec Glade comme concepteur d'interface. Il nécessite l'installation de plusieurs paquets Python, ainsi qu'une installation de GTK + (ce qui n'est pas toujours facile sur Windows). L'API est géniale, well-documented et Glade est très facile à utiliser, une fois que vous vous êtes habitué aux concepts de mise en page de GTK. Mais mon opinion est un peu biaisée parce que j'ai réalisé plusieurs projets dans PyGTK. wxWidgets ou PyQT sont de bonnes alternatives. Par exemple, bazaar explorer est écrit en utilisant QT.

+0

Bien le code est long d'environ 80 lignes, je sais comment faire GUI par exemple facile "bonjour monde" avec tkinter, mais dans mon code j'ai "lire entrée .txt" fichier, puis un calcul (huffman), et sortie est d'écrire dans output.txt, et montre quelques résultats. Il peut y avoir beaucoup de problèmes pour moi. – thaking

+0

@thaking: 80 lignes? C'est presque rien. Tout ce dont vous avez besoin est de placer la commande read/calc dans une fonction séparée, puis créez probablement un bouton avec une [callback function] (http://effbot.org/tkinterbook/button.htm) qui permet à l'utilisateur de sélectionner une entrée fichier. Bien sûr, cela dépend de votre cas d'utilisation, mais il devrait être assez simple. – AndiDog

0

Je aime vraiment les liaisons PyQt pour la bibliothèque Qt. Qt lui-même est un très beau cadre - riche, puissant, élégant (à mon goût, au moins). Et PyQt fait un très bon travail d'exposer cette fonctionnalité à un environnement de script. De plus, il y a un très beau livre sur le développement de PyQt - Rapid GUI Programming with Python and Qt - travailler à travers cela m'a beaucoup aidé.