Kit de herramientas GUI recomendado para el desarrollo de Python en Raspberry Pi

31

Le estoy enseñando a mi hija Python (y a mí hasta cierto punto) usando el Pi, y lo hemos pasado muy bien hasta ahora, pero la CLI solo puede llevarnos tan lejos. He comenzado a buscar otros kits de herramientas, específicamente wx , Qt y GTK . Todo esto parece tener excelentes enlaces para Linux en general, aunque no puedo encontrar mucha información específica de Raspberry Pi. También estoy abierto a otros kits de herramientas, siempre que los enlaces de Python sean buenos.

¿Alguien tiene alguna experiencia en la codificación de uno de estos en el pi? ¿Hay un apt-getcomando simple que necesito ejecutar para instalar los paquetes necesarios? Mejor aún, ¿hay un kit de herramientas listo para combinar con la imagen de Raspbian?

Nota: Actualmente estoy usando Raspbian sin problemas, aunque Arch es tentador debido a los problemas de ABI con mono.

Goyuix
fuente

Respuestas:

22

Recomendaría Tkinter, es la biblioteca GUI estándar para Python y, como resultado, ya está instalada. IDLE IDE (que se incluye con la imagen Raspbian) no solo es compatible con Tkinter, sino que también es una aplicación de Tkinter. Además, la mayoría de los libros de Python incluirán al menos un capítulo sobre la creación de GUI con Tkinter. Si prefiere los recursos web, querrá consultar el tutorial Tkinter de Pythonware . Se puede encontrar información y recursos adicionales en la página Tkinter de Python.org .

Steve Robillard
fuente
Para el tutorial de Tkinter, el enlace es para la segunda página: aquí está la introducción si alguien lo desea: pythonware.com/library/tkinter/introduction/whats-tkinter.htm
Anonymous Penguin
2

Hice un poco de tiempo con Tkinter hace 15 años, y unos años más tarde hice algo con wx. Si bien pude hacer las cosas, las encontré un poco tediosas. No sé cuánto ha mejorado la situación desde la última vez que los usé, o cuánto mi propio aprendizaje los haría parecer más fáciles hoy.

Sin embargo, en los últimos meses, he estado explorando PySide , que es un marco compatible con PyQt. Increíblemente útil es Qt Designer , que le permite arrastrar y soltar componentes (botones, diales, controles deslizantes, casillas de verificación, etc.) y guardarlos como un archivo XML con la extensión ".ui". pyside-uic luego lee eso y produce código Python. Hay algunos videos tutoriales geniales por ahí.

Bo Milanovich tiene una serie de 29 videos sobre Udemy (por $ 15) que acabo de completar, pero también tiene varios gratuitos que figuran en el sitio Qt: http://wiki.qt.io/PySide_Video_Tutorials . Bo puede estar un poco "distraído" en sus lecciones, yendo en tangentes, pero durante 29 lecciones con un promedio de 30 minutos cada una, definitivamente valió la pena $ 15.

También encontré recientemente " Tutorial de programación de Qt Designer - PyQt con Python GUI " ( https://www.youtube.com/watch?v=Dmo8eZG5I2w ). Eso me llevó al sitio del presentador que ofrece introducciones a Qt, Tkinter y Kivy https://pythonprogramming.net/gui-development-tutorials/ . No los he visto, pero según el tutorial de Qt Designer que vi, estoy deseando que lleguen a pythonprogramming.net.

Falta un poco de la documentación oficial de PyQt y PySide. Gran parte se convirtió a través de algún proceso automatizado de la documentación original de Qt, y los bits se perdieron en la traducción. Entonces, si faltan los documentos en https://pyside.github.io/docs/pyside/ , vea los documentos en http://doc.qt.io/ e intente traducir lo que leyó a Python. Pero primero mire los tutoriales, ya que lo llevarán lejos.

Miré brevemente a GTK hace unos años. También cuenta con un diseñador, claro. Pensé en ir por ese camino nuevamente, pero por las cosas que me han interesado, parecía haber más energía detrás de Qt. Apenas estoy comenzando a explorar Kivy, ya que parece estar recomendado para el trabajo con pantalla táctil.

Un poco tarde, pero espero que esto ayude.

Ubuntourist
fuente
1

tkinter es la extensión GUI de TCL que se usó muy temprano en el ciclo de desarrollo de Python. Inactivo, el shell de comandos de Python usa tkinter.

para una GUI necesita un servicio xorg-x11 (un demonio) y un administrador de presentaciones. X11 es donde viven los controladores del dispositivo de visualización. Sus nombres comienzan con xorg-x11-drv-xxxxx. X11 es un controlador HID (dispositivo de interfaz humana). Los ratones, tabletas, teclados, etc. también se conectan al servicio x11.

Mi gerente de presentación es Gnome, pero hay al menos 1/2 docena de ellos. Entiendo que el Xfce es uno de los más ligeros.

Para las herramientas de desarrollo de GUI Python, uso DrPython (edición de código, verificación de sintaxis y depuración). wxGlade es un entorno de desarrollo de GUI de arrastrar y soltar de Python bastante similar a Visual Basic. Ambas son aplicaciones wxPython y no requieren privilegios de root. Se pueden descargar desde sourceforge.net

Mi R-Pi-3b está en orden. Mi nieta ya tiene uno, por eso se hizo el pedido. He estado programando durante más de 60 años y en Python durante más de una década. He desarrollado una serie de compiladores para idiomas personalizados y aplicaciones cliente / servidor para domótica.

Geek antiguo
fuente
1

He desarrollado una aplicación GUI que se ejecuta en raspberry pi 2,3. Usé tkinter y pyQt4.

Pero donde tkinter y pyQt4 requieren mucha más codificación para colocar sus widgets y toma mucho tiempo para los arreglos de diseño.

En mi sugerencia, use el diseñador QT4 para crear su interfaz de usuario. Es muy fácil debido a la funcionalidad de arrastrar y soltar, más tarde puede generar el script python .py desde el archivo .ui usando el comando pyuic4 y también puede agregar imágenes en su interfaz de usuario usando el diseñador qt4 para que debe crear el archivo resosurce.rc que luego debe convertir utilizando el comando pyrcc.

Hay varios tutoriales disponibles.

Prasad Yatish
fuente
0

Echa un vistazo a appJar. No tiene las funciones de arrastrar y soltar de QT4 Designer mencionadas anteriormente, pero puede crear una buena GUI en solo unos minutos, dependiendo de lo que esté tratando de lograr. Los documentos en su página web muestran muchos buenos ejemplos. http://appjar.info/

Chad G
fuente
-2

ir a pygtk es el mejor y sólido como una roca estable pero fácil para principiantes

ngprnk
fuente
55
Algunos detalles adicionales ayudarían a mejorar esta respuesta (lo que lo hace el mejor en comparación con otras alternativas, cómo lo instalo, lo que lo hace fácil).
Steve Robillard