7
votes

En tant que débutant, où devrais-je aller si je veux créer un petit programme d'interface graphique?

Je suis un débutant avec une petite expérience en train d'écrire en basique, Python et, de toutes choses, un smarton d'assembleur (dans le cadre d'un jeu de jeu vidéo ROM). Je voulais créer un petit outil pour modifier les valeurs hexagonales à des points particuliers, dans un fichier particulier, qui aurait une interface GUI.

Ce que je recherche, c'est la possibilité de créer un petit programme GUI, que je puisse distribuer en tant qu'Ètatoire (ou, au moins un répertoire autonome). Je ne suis pas enthousiaste à l'idée des langues .Net, car je ne veux pas forcer les gens à télécharger un forfait Massive .NET Framework. J'ai actuellement des python avec le constructeur inactif et le constructeur BOA, et la demande y est exécutée. J'ai essayé de chercher des informations sur la compilation d'une application Python qui s'appuie sur WxWidgets, mais les résultats de la recherche et les informations que j'ai trouvées ont été déroutantes, ou simplement incompréhensibles.

Mes questions sont:

  1. est Python une bonne langue à utiliser pour ce type de projet?
  2. Si j'utilise Py2exe, WxWidgets sera-t-il déjà inclus? Ou mes utilisateurs devront-ils installer WxWidgets sur leurs machines? Ai-je droit à la pensée chez Py2exe fabrique simplement un répertoire autonome, 'DIST', qui dispose des fichiers nécessaires à l'utilisateur à double-cliquer et à exécuter l'application?
  3. Si le programme s'appuie sur Tkinter pour GUI Stuff, cela sera-t-il inclus dans l'EXE PY2EXE PRODUITS? Si c'est le cas, leurs constructeurs / IDes d'interface graphique »visuels pour Python avec seulement Tkinter?

    Merci pour votre temps,

    JBMK


1 commentaires

La plupart des gens ont déjà .net - la plupart des gens n'ont pas de python ...


4 Réponses :


4
votes

Vous feriez mieux de penser / dire / googling wxpython (non wxwidgets), puisque wxpython est l'emballage Python pour le WXWidgets C ++.

1.) Python est une bonne langue pour cela. Si vous ne ciblez que Windows, je le ferais toujours dans .NET / C #. Si vous voulez une plate-forme inter-plate-forme, Python / WXPython tout le chemin.

2.) Oui, les fichiers WXPYTHON doivent être inclus dans le répertoire DIST. Vous devrez bien sûr installer WXPython à votre machine de développement. Voir ici pour trouver des instructions sur la construction. Py2exe produit un répertoire unique avec tout ce dont vous avez besoin pour vous exécuter votre programme. Cela vous donnera un exe que vous pouvez double-cliquer.

3.) Je n'ai jamais utilisé Tkinter de Python avec Py2exe, mais je ne vois pas pourquoi cela ne fonctionnerait pas dans les lignes de WXPython.

Vous devez garder à l'esprit que votre répertoire de distribution sera de 10 secondes (Py2exe Packs l'interpréteur Python et d'autres bibliothèques nécessaires à votre application). Pas tout autant que le .NET Framework, mais pas presque tout le monde qui l'a déjà installé à l'heure actuelle?


0 commentaires

0
votes

Pour un projet multiplateform GUI, je vous recommande d'utiliser bibliothèques QT et PYQT .

Je les ai récemment utilisées pour une petite application et j'ai aimé les deux; QT possède un excellent modèle d'interface graphique et de modèle de signal pyqt \ Signal a fonctionné pour moi.

Vous pouvez déployer votre application sur OSX et Windows à l'aide de PY2App et PY2EXE; ici un lien utile qui vous montre comment et la taille possible.


0 commentaires

0
votes
  1. Python correspondrait à vos besoins.
  2. wxwidgets et python sont des choses complètement différentes. Je pense que vous voulez dire WXPython, qui est une boîte à outils d'interface graphique pour Python. Je ne sais pas si Py2exe comprendrait cela, car je n'ai jamais utilisé py2exe - je construisai manuellement les colis et leurs dépendances.
  3. à peu près sûr que Tkinter serait inclus. J'utilise un peu tkinter et ça fonctionne assez bien.

0 commentaires

3
votes

Si vous n'avez pas peur d'apprendre une nouvelle langue, envisagez TCL / TK. La raison pour laquelle je mentionne que c'est le mécanisme de distribution supérieur à presque tout, ce qui facilite la mise en place d'un exemple de fichier unique qui inclut tout ce dont vous avez besoin - le temps d'exécution TCL / TK, votre programme, vos icônes, vos fichiers sonores, etc. . Dans un système de fichiers virtuel intégré. Et la même technique que vous utilisez pour une plate-forme fonctionne pour tous. Vous n'avez pas besoin d'utiliser différents outils pour différentes plates-formes.

Si cela vous intrigue, Google pour Starpack (fichier unique qui a tout cela), Starkit (application indépendante de la plate-forme) et TCLKIT (runtime spécifique à la plate-forme).

TCL / TK n'est pas la tasse de thé de tout le monde, mais comme une langue d'interface graphique de démarrage, il est difficile de battre imo. S'il y a un talon d'Achille, c'est qu'il n'a pas de support d'impression. C'est surprenant, cependant, combien de Guis n'ont pas besoin d'impression de support ces jours-ci.


0 commentaires