Desarrollo de interfaces gráficas en Python 3 con Tkinter
eBook - ePub

Desarrollo de interfaces gráficas en Python 3 con Tkinter

Tomás Domínguez Mínguez

Share book
  1. 478 pages
  2. Spanish
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Desarrollo de interfaces gráficas en Python 3 con Tkinter

Tomás Domínguez Mínguez

Book details
Book preview
Table of contents
Citations

About This Book

Las interfaces de usuario son el punto de interacción entre las aplicaciones y las personas que las utilizan. Aunque su función se centra en la entrada y salida de información, muchas veces determinan el éxito o el fracaso de un programa, ya que, por muy interesante que este sea, si resulta difícil de manejar, provocará un rechazo que desanime incluso a probarlo.Es probable que las aplicaciones que haya desarrollado con Python hasta ahora se limiten a un intercambio de información con el usuario en modo texto. Con la lectura de este libro adquirirá los conocimientos necesarios para dotarlas de una interfaz gráfica, con el fin de hacerlas más amigables, atractivas y fáciles de usar.Aunque en Python existen diferentes paquetes para conseguir este propósito, se ha elegido Tkinter por ser su librería estándar. Tanto es así, que viene con el propio entorno de desarrollo. En este libro aprenderá todo lo necesario para trabajar con esta librería, ya que le permitirá: "Descubrir los controles gráficos proporcionados por Tkinter, como etiquetas, botones, menús, campos de entrada de texto, etc. Con ellos podrá crear otros más elaborados, como barras de menús, barras de tareas o formularios, entre otros muchos. Naturalmente, podrá configurar el aspecto de cada uno de ellos, como el tamaño, el color, el tipo de fuente y cualquier otro rasgo que exhiban."Utilizar cuadros de diálogo para abrir o guardar archivos, elegir un color o dar mensajes informativos al usuario, de los que se podría esperar una respuesta."Situar cada uno de los elementos gráficos en una ventana según el diseño deseado, para conformar de esta forma el aspecto visual de la interfaz."Establecer el comportamiento de cada uno de los componentes gráficos, determinando la respuesta que deben dar a cualquier evento al que quiera que respondan. De esta forma, podrán moverse por la pantalla, aparecer o desaparecer, y cambiar de tamaño, color o cualquier otra de sus características."Conocer los controles gráficos del módulo ttk, que adaptan su apariencia a la del sistema operativo en el que se ejecutan (Windows, MacOS o Linux).Todos los conceptos introducidos irán seguidos de ejemplos que demostrarán cómo llevarlos a la práctica. Además, los programas utilizados se explican línea a línea para que no queden dudas sobre su funcionamiento.El libro parte de un nivel básico de Python, pero, si no conoce este lenguaje o quiere refrescar sus conocimientos, se proporciona un amplio anexo en el que se enseñan sus principios básicos de funcionamiento, con el fin de que pueda seguir sin problemas las prácticas propuestas.No espere más, hágase con su ejemplar y proporcione a sus aplicaciones el diseño y la funcionalidad que merecen.Tomás Domínguez es ingeniero de telecomunicación y doctorado en inteligencia artificial. Su labor profesional se ha desarrollado en una multinacional de telecomunicaciones, donde ha ocupado diversos cargos relacionados con la tecnología. Asimismo, ha ejercido como profesor universitario de ingeniería informática en la Universidad Alfonso X el Sabio de Madrid.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Desarrollo de interfaces gráficas en Python 3 con Tkinter an online PDF/ePUB?
Yes, you can access Desarrollo de interfaces gráficas en Python 3 con Tkinter by Tomás Domínguez Mínguez in PDF and/or ePUB format, as well as other popular books in Ciencia de la computación & Programación paralela. We have over one million books available in our catalogue for you to explore.

Information

Publisher
Marcombo
Year
2021
ISBN
9788426734013

Unidad 1

INTRODUCCIÓN

Las interfaces de usuario son el medio de interacción entre las aplicaciones y las personas. Dependiendo de la forma en la que se lleve a cabo esta comunicación, se distinguen diferentes tipos: desde las de línea de comandos (en las que el intercambio de información se realiza utilizando únicamente texto), pasando por las interfaces gráficas, hasta las sofisticadas interfaces de voz (en las que el usuario ni siquiera necesita usar las manos).
Si conoce Python, sabrá que la forma más sencilla de intercambio de datos con un programa escrito en este lenguaje es mediante la shell de su entorno de desarrollo o la línea de comandos proporcionada por una ventana de símbolo del sistema en Windows, la aplicación Terminal en macOS o una consola de Linux (también llamada “terminal” o shell). Se trata, por lo tanto, de una interfaz textual.
illustration
Si no conoce Python, al final del libro dispone de un amplio anexo en el que se describen los fundamentos de este lenguaje. Allí se dan todos los conocimientos necesarios para poder seguir las prácticas propuestas.
Por sus características, este tipo de interfaces son muy limitadas, por lo que su utilización puede resultar difícil y engorrosa, aparte de poco atractiva, lo que puede provocar el rechazo de la aplicación. Por ese motivo, salvo casos excepcionales, la mayoría disponen de una interfaz gráfica. Los programas escritos en Python no iban a ser una excepción, y existen diversos paquetes para su desarrollo con los que podrá usar todo tipo de controles gráficos. Entre ellos, destacan:
Tkinter. Librería estándar de Python. Viene integrada en el propio entorno.
PyQT. Creada por Riverbank, proporciona un puente de acceso al conocido framework QT de desarrollo de interfaces gráficas de usuario. Incluye un entorno gráfico (PyQt5 designer) con el que incluso se podrían construir de forma sencilla, mediante el método de arrastrar y soltar (drag and drop) los controles gráficos. Se distribuye con una licencia GPL (GNU General Public License – Licencia Pública General de GNU) y otra comercial.
PySide. Similar a la anterior, también proporciona un puente de acceso a QT; pero, a diferencia de PyQT, está disponible bajo la licencia LGPL (Lesser General Public License – Licencia Pública General Reducida de GNU). Surge como respuesta de Nokia (propietaria de QT) a la negativa de Riverbank de liberar PyQt bajo esta licencia, al requerir el pago de la comercial en caso de que la aplicación también lo sea (algo que no sucede con la licencia LGPL).
Kivy. Se trata de un paquete de código abierto con licencia MIT (Massachusetts Institute of Technology – Instituto Tecnológico de Massachusetts), para el desarrollo rápido de interfaces gráficas multiplataforma. No solo funciona en Windows, Linux o macOS, sino también en Android e iOS. Los gráficos se procesan a través de OpenGL ES 2, en lugar de controles gráficos nativos, lo que hace que su apariencia sea similar, independientemente del sistema operativo en el que se ejecute.
illustration
El nombre del paquete QT juega con la forma en la que se pronuncia en inglés, similar a la palabra cute (“bonito” o “lindo”).
illustration
El término framework se puede traducir como “marco de trabajo”. En el contexto de QT, representa un entorno de desarrollo específico para interfaces de usuario.
illustration
OpenGL (Open Graphics Library) es un estándar que define una API multilenguaje y multiplataforma para el desarrollo de gráficos 2D y 3D.
Cada uno de estos paquetes tiene sus puntos fuertes, por lo que decidirse por uno u otro dependerá de las necesidades del proyecto en el que se vaya a emplear, la plataforma donde se ejecute y/o las preferencias del programador. De todos ellos, se ha elegido Tkinter, por ser el estándar de Python.

1.1 QUÉ ES TKINTER

Como se acaba de indicar, Tkinter es el paquete estándar de Python para el desarrollo de interfaces gráficas de usuario. Por ese motivo, se incluye al instalar el propio entorno, sin que sea necesario importar nada adicional para empezar a utilizarlo. Fue escrito por Fredrik Lundh y su nombre procede de la interfaz Tk en la que está basado. En realidad, se trata de una API (Application Programming Interface – interfaz de programación de aplicaciones) creada específicamente para utilizar Tk desde Python.
Tk es un framework multiplataforma de software libre, que proporciona una biblioteca de controles gráficos para el desarrollo de interfaces de usuario en Tcl. Al igual que Python, este sencillo lenguaje de propósito general es interpretado y soporta múltiples paradigmas de programación, incluyendo la orientada a objetos y la imperativa o tradicional.
Por lo tanto, Tkinter es un recubrimiento de Tcl que permite usar Tk desde Python, motivo por el que el intérprete de Tcl está incrustado en el de Python.
Tkinter ofrece una gran variedad de componente gráficos (a los que se conoce como widgets) con los que construir las interfaces de usuario. Para su diseño, se emplea una estructura jerárquica, en cuya parte superior está la ventana principal, donde se sitúan tanto los widgets sencillos (por ejemplo, botones, menús, campos de texto, etc.) como aquellos que a su vez contienen otros widgets (por ejemplo, frames, paneles, etc.).
Los widgets disponen de multitud de opciones con las que se determina el aspecto del componente gráfico (como, por ejemplo, el tamaño, el color, etc.), además de métodos que sirven para configurar dinámicamente dicha apariencia, situarlos en la posición que deban tener en pantalla, establecer su comportamiento, etc.
illustration
A lo largo del libro, no se describe la lista completa de atributos o métodos de todos los widgets. La documentación de esta librería se encuentra en https://docs.python.org/3/library/tkinter.html.
Cuando un usuario hace algo con alguno de estos controles ...

Table of contents