ncurses Python, CDK, la différence urwid
Question
Quelle est la différence entre ces 3? Pour autant que je le comprends qu'ils fournissent tous les deux se lier à des malédictions qui est la bibliothèque C pour l'interface utilisateur à base de texte terminal.
Je ne disposent actuellement pas de l'un des 3 et je ne l'ai jamais utilisé malédictions. Lequel recommanderiez-vous? Je l'ai entendu parler de ncurses plusieurs fois, mais seulement une ou deux fois CDK (par la recherche) et jamais entendu parler de urwid (je pense).
La solution
Ce que je reçois après avoir regardé quelques références est:
- ncurses : Il est une version de logiciel libre de malédictions, de sorte que vous devez traiter avec toutes sortes détails de bas niveau.
- pyCDK : Il est une bibliothèque de niveau supérieur qui fournit des widgets. Je ne l'ai pas utilisé celui-ci, mais selon la page du projet sourceforge il a été unmaintained depuis longtemps (au moins le python de liaison), donc je ne voudrais pas aller avec celui-ci.
- urwid : Je l'ai utilisé celui-ci et j'ai à dire qu'il est encore un peu faible (il est plus un cadre d'une bibliothèque de widgets), mais encore tout à fait utile et beaucoup plus convivial que malédictions. En tant que cadre de l'assurance-chômage, il a toutes les choses que vous voulez généralement attendre comme des widgets, des événements et un moyen de contrôler la mise en page des widgets. Certaines choses que je dirais est difficile avec
curses
, mais sont faciles àurwid
sont: redessiner vos widgets lorsque le terminal est redimensionnée et recueillir les commentaires de la souris (en cliquant sur un bouton, par exemple) .
Donc, ma recommandation serait d'utiliser urwid
et si elle ne répond pas à vos besoins chercher d'autres alternatives.
Autres conseils
Je n'ai pas utilisé l'une des bibliothèques, mais je suppose que vous faites référence à:
- intégré Python
curses
Module -
pycdk
, une interface Python CDK -
urwid
bibliothèque de l'interface utilisateur de la console
Ils sont juste différentes bibliothèques avec le même but: fournir une API pour une interface utilisateur basée sur la console. D'un précédente question, il semble que curses
exige plus boilerplate bas niveau. Une chose à noter est que le module curses
Python est uniquement disponible sous Unix; si vous êtes sous Windows, vous pouvez regarder le module Console
écrit par Fredrik Lundh.
Les deux autres choix semblent prometteurs aussi bien, bien que ressemble urwid
à être plus organisés dans la mesure où le développement va, et est toujours activement développé quelque peu.