7
votes

Comment est le développement de l'interface graphique Python aujourd'hui (Sep / 2010)?

La dernière fois que j'ai vu, Guis dans Python étaient extrêmement laids, comment ça va aujourd'hui?

(a vu de belles images sur Google Images, mais je ne sais pas si vous êtes vraiment Python)


10 commentaires

C'est moche si vous utilisez TK. Mais vous n'avez pas à utiliser TK.


@KennyTM: Je peux faire de beaux gites avec Tkinter - le problème a plus à voir avec la compétence du programmeur que la boîte à outils imo.


Guis décentes à TK sont possibles, mais beaucoup plus de travail que par ex. dans Pyqt / Pyside. Les widgets QT semblent très bien hors de la boîte, sur toutes les grandes plateformes.


La façon dont un ensemble de widget semble n'est toujours pas le meilleur critère permettant de choisir une boîte à outils à moins que vous développiez une demande de marché de masse commerciale. Le fait que Tkinter soit bafouillé, et le fait qu'il ait une API remarquablement puissante et simple en fait un choix très viable.


@Bryan_Oakley Comme vous l'avez dit, dépend du projet ..


Je pense que cela vaut la peine de noter que le pyside semble enfin avoir une libération de fenêtres.


Ça va très bien. Merci de demander.


@Bryan: Depuis que Python n'est pas assez répandu que nous puissions compter sur la plupart des utilisateurs non programmés pour le faire installer, la plupart des applications doivent être emballées de toute façon. Au moins py2exe et cx_freeze ajoutent automatiquement toutes les bibliothèques d'occasion à l'exécutable. Alors, venant groupé avec Python n'est pas un grand avantage. De plus, TK est non seulement simple, il est minimaliste. Enfin j'ai vérifié, j'ai dû copypasser quelques lignes à chaque fois que je voulais une friggin 'Listbox pour avoir une barre de défilement!


@Veeti ressemble à pas pour XP ou plus


@Deinan: C'est juste une différence de conception. TK vous donne des blocs de construction plutôt que des widgets complets. Deux lignes de code pour créer une barre de défilement? On s'en fout? Si c'est le prix que je dois payer pour pouvoir profiter du widget de texte remarquable, de la toile, des gestionnaires élégants pack et de géométrie de grille, ainsi que du génie de BindTags, c'est un compromis qui vaut la peine d'être rendu.


4 Réponses :


1
votes

Python a des fixations pour TK, QT, GTK, WX et bien d'autres. Il n'y a aucune raison pour laquelle il devrait être n'importe quel plus possible qu'une autre langue. Vous pensez probablement à une interface graphique faite avec TK, qui a une réputation d'être laid. Ce n'est pas spécifique à Python, mais il pourrait être plus courant car c'est très simple et navigué avec Python par défaut.

voir Programmation de l'interface graphique sur le wiki Python pour plus d'informations.


5 commentaires

-1 pour déchirer sur tk. Les versions modernes de TK ont l'air assez agréable et utilisent des widgets natifs dans la mesure du possible. Le "TK est laid" meme n'est pas presque aussi pertinent aujourd'hui que c'était il y a 5 ans.


@Bryan Oakley: Mieux vaut-il? Je ne l'ai pas utilisé personnellement, seulement des trucs faits qui sont invariablement hideux. Ne réalisait pas qu'il était mieux obtenu


@Daenyth: C'est l'un des problèmes de la perception de Tkinter a - la perception des gens est basée sur des outils il y a des années écrites par des amateurs. Il a amélioré un lot au cours des dernières années.


@Bryan Oakley: Je tire à juger des choses récentes comme Gitk par exemple. C'est toujours assez moche


@Daenyth: Oui, Gitk est laid. Ce n'est pas entièrement la faute de TK. Le créateur de Gitk a évidemment choisi d'ignorer les widgets thématiques TK a eu depuis quelques années maintenant.



2
votes

TK est SILILL est la boîte à outils de l'interface graphique par défaut pour Python, mais il a un support thématique de Python 2.7 / 3.1. Ce n'est pas aussi moche qu'avant.

Cependant, vous pouvez utiliser de bonnes alternatives qui ont toujours l'air mieux (IMHO) et ont plus de fonctionnalités:

  • WXPYTHON: Peut-être la plate-forme transversale la plus utilisée et la plus utilisée, vos applications auront l'air identique à celle natale.
  • Pyqt ou bientôt Pyside: Reliures pour le cadre Open Source Nokia QT. Il y a plus que juste une boîte à outils d'interface graphique.
  • pygtk: liaison pour les bibliothèques GTK +

    Voici plus d'informations: http://wiki.python.org/moin/guiprogramming


2 commentaires

"TK a toujours l'air laid" est très subjectif. Êtes-vous au courant du support de widget thématique dans les versions modernes de TK?


Désolé je n'étais pas. Je viens de voir dans une autre réponse. La version expédiée avec mon python 2.6 n'a pas eu. Vous devez utiliser Python 2.7 ou 3.1 pour avoir un support de thème. J'ai édité ma réponse.



7
votes

Navires Python 2.7 et 3.0 avec les widgets TK sur thème ("TTK") qui ressemblent beaucoup mieux que les versions précédentes de TK (bien que, honnêtement, tout développeur d'interface graphique compétent peut faire de même la TK plus ancienne. Ne laissez pas les personnes qui ne savent pas grand chose à propos de TK vous infligent de l'utiliser, c'est toujours une boîte à outils très viable pour de nombreuses tâches. Vous ne créerez pas de clone Photoshop avec celui-ci, mais combien de personnes écrivent ces types d'applications quand même?

J'utilise Wxpython depuis l'année écoulée et choisirais toujours Tkinter sur la plupart des tâches. Tkinter est beaucoup plus simple et à bien des égards plus puissants. Le seul avantage WxWidgets a pour effet que cela a des widgets plus intégrés, mais je trouve beaucoup d'entre eux un peu de buggy et de difficulté à utiliser. Pour la plupart des applications que la plupart des gens écrivent, Tkinter est toujours un excellent choix.

Certaines captures d'écran de widgets thématiques sont disponibles ici:

http://code.google.com/p/python-ttk/ wiki / screenshots

Voici une capture d'écran d'une application Tkinter utilisant les widgets thématiques sur le Mac:

http://www.codebykkevin.com/phynchronicity-running.png < / p>


0 commentaires

1
votes

Je pense que la dernière version Tkinter offre une recherche indigène pour les macos. WXPYTHON et QT offrent une recherche indigène pour MacOS, Windows et Linux. GTK est l'abus laide et enclins à se bloquer sur la cause Mac de l'implémentation X11.

Bien sûr, vous pourriez construire votre propre interface graphique, que quelque chose que j'essaie de faire avec pygame.Le me clarifie, je ne fais pas une bibliothèque d'interface graphique juste une interface graphique pour ma propre demande. Je fais les graphiques dans le mélangeur 3D de l'application.

Mon vote pour GUI générique va à WXPython, l'a essayé, a fière allure, facile à utiliser et fonctionne comme un charme entre les plates-formes. Vous trouverez également des tonnes d'informations à ce sujet. S'intègre bien avec OpenGL, donc si vous voulez faire des gites extrêmes dessus, cela peut les faire.


3 commentaires

Pour autant que je sache, les dernières versions de GTK n'exigent plus X11 sur Mac OS X, mais utilisez plutôt les widgets natifs du cacao.


HMM semble que vous êtes correct, il y a eu beaucoup de mise à jour depuis la dernière fois que j'ai vérifié. Merci d'avoir apporté cela à mon attention, je pense que je vais donner à Pygtk un autre essai maintenant.


Tkinter propose également des fenêtres natives pour Windows. L'a fait pendant de nombreuses années.