WxPython

wxPython
Información sobre la plantilla
Wxpython.jpg
Herramienta que permiten escribir multiplataforma GUI-aplicaciones.

WxPython. Ocupa el lugar entre los conjuntos de herramientas que permiten escribir multiplataforma GUI-aplicaciones como PyQt, PyGTK o Tkinter. Pero debajo de las ventanas, ya diferencia de Tkinter o pyGTK, una aplicación wxPython tiene una apariencia muy similar a lo que se obtendría con una aplicación nativa con Microsoft GUI, MFC. Esto se debe a wxPython es una capa fina sobre la interfaz gráfica de usuario nativa clases. Además de esto, wxPython es muy fácil de aprender y se aprovecha de las posibilidades que ofrece Python. Por ejemplo, el manejo de eventos es especialmente agradable en wxPython. De hecho, wxPython es simplemente enlaces Python a C++ de llamada WWW wxWidgets antes llamado wxWindows) (?), Que data de 1992, wxWidgets ahora es una biblioteca muy estable, eficiente, orientado a objetos en ejecución (sin problemas) en Windows, Unix (GTK / Motif / Lesstif) y pronto Macintosh.

Requisitos previos

Asumimos que el lector tiene un conocimiento suficiente de Python y está familiarizado con las clases y objetos en Python . No se requiere de otros conocimientos.

Instalación

  • Windows

La instalación en Windows es muy simple: Ejecuta el instalador se puede obtener a partir de wxpythony siga las instrucciones.

  • Linux - Red Hat

Usted puede encontrar RPMs para Red Hat (que están trabajando muy bien con Mandrake a través), en la dirección wxpython

  • Linux - Debian

wxPython se puede instalar mediante apt-get llamando apt-get install python-wxgtk2.4 o apt-get install python-wxgtk2.6, según la versión que desee. La demostración wxPython está en el paquete wx-ejemplos. Instalarlo con apt-get install-wx2.4 ejemplos o apt-get install-wx2.6 ejemplos. Una vez instalado, tiene que copiar / usr/share/doc/wx2 [4 | 6]. -examples/examples/wxPython A un directorio que se puede editar. A continuación, deberá descomprimir todos los archivos comprimidos. Puede hacerlo con un script como este:

    for i in `ls`; hacer
        if [$ {i: (-3)} == "gz".], y luego
            gunzip $ i
        fi
    hecho

A continuación, puede ejecutar la demostración escribiendo python demo.py.

Técnicas de depuración

Cuando un programa en Python llega una excepción no controlada (bug!) en su programa, este aborta con una operación de rastreo que es útil para localizar la fuente del problema. programas wxPython hacer lo mismo, pero con un toque. El rastreo se dirige a stdio, que es capturado en un bonito marco de interfaz gráfica de usuario independiente de su programa. Si una excepción se muestra en un controlador de eventos, el rastreo se muestra, y el programa continúa en la mejor forma posible. PERO, si la excepción se produce mientras se iniciaba el programa, el rastreo se mostrará, a continuación, el programa se interrumpirá, teniendo la ventana de stdio (y su rastreo) con él antes de que incluso el más rápido lector puede hacer sentido de ella. Usted puede mantener stdio de ser secuestrado por wxPython, proporcionando un par de parámetros opcionales cuando usted instancia su wxApp. Un ejemplo lo dice mejor.

Eventos

Manejo de eventos es una de las características clave de wxPython. Todos los entornos gráficos conocidos por nosotros se basan en eventos para distribuir información entre varias aplicaciones. Decidir qué hacer cuando un evento en particular que se recibe es el trabajo de cada interfaz gráfica de usuario de la aplicación y se llama manejo de eventos. De vuelta en los viejos tiempos antes de la programación de objetos, que trata de eventos significaba que habría un "interruptor" operación que decidió qué hacer con un tipo particular de evento. Con la llegada de la programación orientada a objetos las cosas no son tan simples más: Ahora hay dos maneras de manejar los eventos:

  • Uno de los métodos (por ejemplo, un Java) se basa en lo que se llaman controladores de eventos. Los controladores de eventos se asocia a un objeto particular y enlazado a una función de devolución de llamada / método. Cuando el objeto recibe un determinado tipo de evento, el controlador de eventos activa la función de devolución de llamada.
  • El otro enfoque consiste en dar nombres predeterminados con los métodos que se supone que para manejar un evento en particular. De esta manera, si desea modificar la respuesta de una clase particular a un caso particular, usted tiene que derivar su clase y sobrecarga el método correcto.

wxPython se combinan ambos enfoques. Se pueden definir controladores de eventos, pero también puede derivar clases para implementar nuevas conductas, porque en wxPython, controladores de eventos de mucho trabajo en la forma en métodos virtuales hacer. Que proporciona una mayor flexibilidad al tener dos capas de indirección para la gestión de eventos. La primera capa de indirección se encuentra en el nivel de la instancia. Para todos los casos, decide conectar un EventType particular con un método particular. La segunda capa es más clásico, situado en el nivel de clase y es proporcionado por los métodos virtuales.

Colaboradores

  1. La comunidad de wxPython
  2. Lucas Bruand
  3. Rob Cakebread
  4. Charlie Derr
  5. Robin Dunn
  6. Michael Roberts
  7. Erik Westra

Colaboradores especiales:

  • Andrew Kuchling por su ayuda y apoyo y no ser demasiado aburrido con mi flujo interminable de preguntas y peticiones.
  • Robin del Norte, JP Syed, Armel Guenneugues, Pilar Rodríguez, Matteo Caligaris para mostrar su apoyo, y no es broma demasiado cerca de llamarme friki.

Fuentes