2010-03-13 13 views
6

Soy un novato con un poco de experiencia escribiendo en BASIC, Python y, por encima de todo, un smidgeon de ensamblador (como parte de un hack ROM de videojuego). Quería crear una pequeña herramienta para modificar los valores hexadecimales en puntos particulares, en un archivo particular, que tendría una interfaz GUI.Como novato, ¿a dónde debería ir si quiero crear un pequeño programa GUI?

Lo que estoy buscando es la capacidad de crear un pequeño programa de GUI, que puedo distribuir como un EXE (o, al menos, un directorio independiente). No me gusta la idea de los lenguajes .NET, porque no quiero obligar a las personas a descargar un paquete masivo de .NET Framework. Actualmente tengo Python con IDLE y Boa Constructor configurado, y la aplicación se ejecuta allí. Intenté buscar información sobre la compilación de una aplicación de Python que se basa en Wxwidgets, pero los resultados de búsqueda y la información que encontré han sido confusos o completamente incomprensibles.

Mis preguntas son:

  1. Está Python un buen lenguaje a utilizar para este tipo de proyecto?
  2. Si uso Py2Exe, ¿ya se incluirá WxWidgets? ¿O mis usuarios tendrán que instalar de alguna manera WxWidgets en sus máquinas? ¿Tengo razón al pensar que Py2Exe solo produce un directorio independiente, 'dist', que tiene los archivos necesarios para que el usuario simplemente haga doble clic y ejecute la aplicación?
  3. Si el programa solo depende de Tkinter para la interfaz gráfica de usuario, ¿se incluirá eso en el EXE Py2Exe? En caso afirmativo, ¿son sus constructores/IDEs GUI 'visuales' para Python con solo Tkinter?

Gracias por su tiempo,

JBMK

+0

La mayoría de las personas ya tienen .Net - la mayoría de las personas no tienen Python ... –

Respuesta

4

Usted sería mejor pensar/decir/googlear wxPython (no wxWidgets), ya que wxPython es el envoltorio de Python para la wxWidgets C++.

1.) Python es un buen lenguaje para esto. Si solo está apuntando a Windows, aún así lo haría en .NET/C#. Si quieres multiplataforma, Python/wxPython todo el camino.

2.) Sí, los archivos wxPython deben incluirse en el directorio dist. Por supuesto, deberá instalar wxPython en su máquina de desarrollo. Consulte here para obtener instrucciones sobre cómo construir. py2exe produce un solo directorio con todo lo que necesita para ejecutar su programa. Le dará un EXE que puede hacer doble clic.

3.) Nunca he usado Python's Tkinter con py2exe, pero no veo por qué no funcionaría según las líneas de wxPython.

Debe tener en cuenta que su directorio finalmente distribuible será 10s de megs (py2exe incluye el intérprete python y otras bibliotecas necesarias para su aplicación). No tanto como el .NET framework, ¿pero ya casi nadie ya lo tiene instalado?

0

Para un proyecto de GUI multiplataforma, le recomiendo que use Qt libraries y PyQt.

Recientemente los utilicé para una aplicación pequeña y me encantaron ambos; Qt tiene un gran diseñador de Gui y PyQt slot \ signal model funcionó para mí.

Puede implementar su aplicación en Osx y Windows usando py2app y py2exe; here un enlace útil que le muestra cómo y el posible resultado de tamaño.

0
  1. Python se adaptaría a sus necesidades.
  2. wxWidgets y Python son cosas completamente diferentes. Creo que te refieres a wxPython, que es un conjunto de herramientas GUI para Python. No estoy seguro de si Py2Exe incluiría esto, ya que nunca he usado Py2Exe: construyo los paquetes y sus dependencias manualmente.
  3. Bastante seguro tkinter sería incluido. Uso tkinter un poco y funciona bastante bien.
2

Si no tiene miedo de aprender un nuevo idioma, considere Tcl/Tk. La razón por la que menciono esto es el mecanismo de distribución de Tcl a casi todo, que hace que sea muy fácil resumir un único archivo exe que incluye todo lo que necesita: el tiempo de ejecución de Tcl/Tk, su programa, iconos, archivos de sonido, etc. dentro de un sistema de archivos virtual integrado. Y la misma técnica que usa para una plataforma funciona para todos. No tiene que usar diferentes herramientas para diferentes plataformas.

Si eso te intriga, google for starpack (archivo único que lo tiene todo), starkit (aplicación independiente de la plataforma) y tclkit (tiempo de ejecución específico de la plataforma).

Tcl/Tk no es una taza de té de todos, pero como lenguaje de interfaz gráfica de usuario para empezar es difícil ganarle a la OMI. Si tiene un talón de Aquiles es que no tiene soporte de impresión. Sin embargo, es sorprendente la cantidad de GUI que no necesitan soporte de impresión en estos días.

Cuestiones relacionadas