Enlaces de Python para Qt Toolkit

A veces, todos estamos en esa situación en la que hemos hecho cosas notables, pero todo es de una manera que solo los programadores cerebritos pueden entender.

Ejecutar cosas desde la terminal puede no ser útil para un laico. Entonces, para poner en acción esos excelentes scripts, es posible que necesitemos el elixir de una GUI.

Pero para los chicos de Python, hay opciones limitadas, y si ha buscado algo similar, seguramente se habrá topado con el nombre PyQt.

Índice de contenidos
  1. ¿Qué es PyQt?
  2. ¿Por qué necesitábamos PyQt?
  3. Instalación de PyQt en Ubuntu
    1. Más sobre PyQt
  4. Diseñador Qt
  5. Terminando
  6. preguntas frecuentes
    1. ¿Qué es PyQt y cómo se relaciona con el kit de herramientas Qt?
    2. ¿Cuáles son las ventajas de usar PyQt para el desarrollo de GUI en Python?
    3. ¿Cuáles son algunas de las mejores prácticas para usar PyQt en el desarrollo de Python?
    4. ¿Cómo puedo comenzar con PyQt?

¿Qué es PyQt?

PyQt es una biblioteca de Python que permite a los desarrolladores utilizar el marco de la aplicación Qt y el kit de herramientas de GUI a través de enlaces de Python. PyQt permite crear aplicaciones de escritorio multiplataforma de aspecto nativo en varios sistemas operativos, como Windows, macOS y Linux. PyQt se basa en el kit de herramientas Qt, un marco C ++ sólido y ampliamente utilizado para el desarrollo de aplicaciones GUI. Con PyQt, los desarrolladores pueden aprovechar una amplia selección de widgets y herramientas de GUI para crear aplicaciones de escritorio, lo que se simplifica gracias a sus capacidades flexibles y potentes.

PyQt fue desarrollado y mantenido por Riverbank Computing, y su versión estable más reciente es PyQt6. A partir de su historial de lanzamiento, parece que el calendario de lanzamiento de la versión principal de PyQt está coordinado con el de Qt.

¿Por qué necesitábamos PyQt?

Hemos estado trabajando de cerca con la intención de desarrollar una GUI de controlador de motor para controlar algunos motores en serie a través de Arduino. Sí, sabemos que GitHub tiene algunos paquetes con GUI para lo mismo, pero necesitábamos personalizaciones a gran escala y terminamos con la opción de desarrollar uno.

Instalación de PyQt en Ubuntu

Esto debería ser bastante fácil

es todo lo que se necesita, y listo. También puede obtener una vista detallada de los procedimientos en la documentación y los términos de la licencia.

La creación de una aplicación GUI simple usando PyQt implica los siguientes pasos:

– Importar módulo QtGui.

– Crear un objeto de aplicación.

– Un objeto QWidget crea una ventana de nivel superior. Añádele un objeto QLabel.

– Establece el título de la etiqueta como “hola mundo”.

– Defina el tamaño y la posición de la ventana utilizando el método setGeometry().

– Ingrese al bucle principal de la aplicación mediante el método app.exec_().

Si su instalación está bien hecha, la siguiente secuencia de comandos de Python debería funcionar correctamente

el código anterior produce el siguiente resultado:

Más sobre PyQt

Existe un método muy fácil para crear este interfaz gráfica de usuario de manera bastante intuitiva, pero antes de eso, deberíamos discutir algunos conceptos básicos en PyQt. PyQt es una combinación de casi 20 módulos y 400 clases. La clase QWidget, derivada de las clases QObject y QPaintDevice en la parte superior de la jerarquía de clases, es la clase base para todos los objetos de la interfaz de usuario. Las clases QDialog y QFrame también se derivan de la clase QWidget. Tienen su propio sistema de subclases. Los QWidgets son los componentes básicos de las aplicaciones GUI de PyQt. Son los elementos gráficos, como botones, etiquetas, cuadros de texto y menús, que componen la interfaz de usuario de una aplicación. Los QWidgets son objetos que heredan de la clase QWidget y se pueden crear y personalizar para crear interfaces de usuario personalizadas. El módulo QtGui de PyQt proporciona una gran colección de widgets preconstruidos que se pueden usar para crear varias aplicaciones. Los desarrolladores también pueden crear sus propios widgets personalizados subclasificando los existentes o creando nuevos desde cero. Los QWidgets son componentes esenciales de las aplicaciones GUI de PyQt y se utilizan ampliamente en el desarrollo de aplicaciones de escritorio.

El objeto de widget QMainWindow crea una ventana de nivel superior típica de una aplicación basada en GUI.

Algunos widgets ocupan su lugar designado en esta ventana principal, mientras que otros se colocan en el área central de widgets utilizando varios administradores de diseño.

El siguiente diagrama muestra el marco QMainWindow:

Leer más: Next.js vs React: cuál es la mejor plataforma front-end para su proyecto [Infographic]

Diseñador Qt

Ahora veamos qué Diseñador Qt es de la manera intuitiva antes mencionada. Esto realmente hará que nuestras tareas sean mucho más sencillas. Qt Designer es una herramienta de diseño de interfaz gráfica de usuario (GUI) que permite a los desarrolladores crear y diseñar interfaces de usuario para aplicaciones basadas en Qt. Es un editor WYSIWYG, lo que significa que los desarrolladores pueden arrastrar y soltar widgets y controles en un formulario y diseñar visualmente la interfaz de usuario. Qt Designer genera archivos XML que definen el diseño y las propiedades de los componentes de la interfaz de usuario, que se pueden usar en aplicaciones basadas en Qt. Qt Designer está integrado con el marco Qt y se puede usar con otras herramientas, como Qt Creator, para crear, editar y obtener una vista previa de las interfaces de usuario basadas en Qt. Esto viene preinstalado con PyQt, que tenemos pip instalado. Entonces, todo lo que tiene que hacer es escribir diseñador en la terminal y presionar enter.

Ahora exploremos un poco con un ejemplo. Una vez abrimos el diseñador de Qt, esta sería la interfaz.

En el filtro de búsqueda, el primer y principal widget que sugeriría usar en cualquier proyecto sería el "marco".

Esto se debe a que luego sería útil y seguramente me agradecerías más tarde por este consejo.

A continuación, en el mismo lugar, busque una etiqueta. Ahora arrastre esta etiqueta al marco.

De manera similar, para un ejemplo simple, arrastre el control deslizante vertical y la barra de progreso al marco en la ventana principal. Dentro de la etiqueta, puede escribir algo, por ejemplo, "Ejemplo de PyQt". Entonces, después de hacer todo esto, nuestra ventana principal debería verse así.

En el lateral, puede ver el inspector de objetos y el editor de propiedades mediante los cuales puede cambiar las características de los widgets colocados en la ventana principal.

Explorar estas características está más allá del alcance de este blog.

Así como guardamos cualquier otro archivo, podemos guardar este archivo en una carpeta. Esto se guardaría como un archivo .ui.

¡Sí! Ahora la pregunta es cómo agregar vida a esta interfaz de usuario. Digamos, por ejemplo, ¿podemos deslizar el control deslizante vertical y ese valor se puede indicar en la barra de progreso? Pero aún así, existe un problema; si abrimos nuestro archivo .ui, estaría en formato XML y sería arduo crear vínculos y aplicar la lógica en este formato. Por lo tanto, nuestra primera tarea sería convertir este archivo .ui en un archivo .py para que realmente podamos hacer que funcione. Para esto, puedes tomar la ayuda de una herramienta llamada pyuic5. Si esto no está instalado en su sistema, puede hacerlo por

de la terminal

Ahora en la carpeta donde ha guardado el archivo .ui; ahora en adelante, vamos a renombrarlo y llamarlo “ejemplo.ui“; abre la terminal y ejecuta el comando

Esto debería crear un archivo python en la misma carpeta, que es un script basado en python de la interfaz de usuario que hemos desarrollado en el diseñador Qt.

Ahora vinculemos nuestro control deslizante vertical con la barra de progreso. A medida que avanza en example.py, encontrará los detalles del widget de control deslizante vertical. Por ejemplo, en la imagen, abrí el código en VS Code, y puedes ver el control deslizante vertical en las líneas 28-31 (Nota: los números de línea están totalmente sujetos a mi editor de código, este puede no ser su caso y no debe entrar en pánico al respecto).

Ahora puede agregar el siguiente fragmento de código debajo de eso,

es decir, ahora, 32-34 en la siguiente imagen.

Lo que esto hace es establecer el valor mínimo, máximo e inicial del control deslizante. Del mismo modo, busque la parte del código que menciona la barra de progreso, es decir, la línea 38.

y agrega este código

así que ahora parece,

Esto hace lo mismo con la barra de progreso que hemos hecho con el control deslizante vertical.

Ahora viene la tarea, para vincular el control deslizante vertical con la barra de progreso, necesitamos una función adicional (método tal como viene dentro de la clase) que se puede llamar cuando movemos el control deslizante vertical. Así que escribiremos la llamada a la función como tal.

lo que hace esta línea de código es conectarse a una función update_progress_bar dentro de la clase una vez que se cambia el valor del control deslizante vertical.

Aquí, excepto update_progress_bar, todos son métodos integrados.

Ahora el contenido de la función update_progress_bar sería

Aquí, el valor en el parámetro de función es el valor del control deslizante vertical, y el valor de la barra de progreso se establece en este valor pasado desde el control deslizante vertical.

Eso es todo; guarde esto y ejecute nuestro archivo python example.py desde la terminal como

Ahora verá la ventana principal, el control deslizante vertical y la barra de progreso. Cuando desliza el control deslizante vertical, puede ver la barra de progreso moviéndose con el valor correspondiente.

Felicitaciones, eso es todo. Hemos creado nuestra primera aplicación PyQt. No, ese no es el final. Hay mucho más por recorrer, pero si eres un principiante y has llegado hasta aquí, has hecho un trabajo increíble. Feliz aprendizaje…

Profundice: Angular vs. Reaccionar vs. Vue: ¿Qué marco elegir para su negocio?

Terminando

En conclusión, PyQt es un enlace de Python potente y popular para el kit de herramientas Qt. Permite a los desarrolladores crear aplicaciones de escritorio hermosas y funcionales con facilidad. Sin embargo, dominar PyQt puede ser una tarea desafiante, especialmente para los principiantes.

Ahí es donde entra en juego neoito. Nuestro equipo de desarrolladores experimentados de Python puede proporcionar orientación y soporte expertos para ayudarlo a aprovechar todo el potencial de PyQt. Desde consultoría y capacitación hasta desarrollo y mantenimiento, contamos con la experiencia y los recursos para garantizar que su proyecto PyQt sea un éxito.

Entonces, si está buscando desarrollar una aplicación de escritorio de alta calidad con PyQt, no dude en comunicarse con nosotros en neoito.

preguntas frecuentes

PyQt es un conjunto de enlaces de Python para el kit de herramientas Qt, que es un conjunto completo de herramientas de desarrollo de aplicaciones multiplataforma. PyQt permite a los desarrolladores crear interfaces gráficas de usuario (GUI) en Python utilizando las bibliotecas Qt, que proporcionan una amplia gama de widgets, gráficos y herramientas de diseño.

¿Cuáles son las ventajas de usar PyQt para el desarrollo de GUI en Python?

PyQt ofrece una serie de ventajas para el desarrollo de GUI en Python, incluidas su robustez y flexibilidad, la amplia gama de widgets y herramientas disponibles en el kit de herramientas Qt y la capacidad de crear aplicaciones multiplataforma que pueden ejecutarse en Windows, Mac, Linux, y otros sistemas operativos. PyQt también permite a los desarrolladores aprovechar la poderosa arquitectura de modelo/vista de Qt, que proporciona un marco poderoso para administrar conjuntos de datos complejos.

¿Cuáles son algunas de las mejores prácticas para usar PyQt en el desarrollo de Python?

Algunas mejores prácticas para usar PyQt en el desarrollo de Python incluyen:

  • Escribir código que sea modular y reutilizable, utilizando clases y objetos para encapsular la funcionalidad.
  • Usando la herramienta Qt Designer para crear interfaces de usuario visualmente y luego integrándolas con código Python usando PyQt.
  • Seguir una convención de nomenclatura consistente para objetos y funciones para hacer que el código sea más fácil de leer y comprender.
  • Usar técnicas de manejo de errores para detectar y manejar las excepciones que puedan surgir durante el desarrollo y las pruebas.

¿Cómo puedo comenzar con PyQt?

Para comenzar con PyQt, deberá descargar e instalar el kit de herramientas Qt, que está disponible de forma gratuita en el sitio web de Qt. También deberá instalar el paquete PyQt, que se puede hacer usando el administrador de paquetes de Python (pip).

Una vez que haya instalado el software necesario, puede comenzar a escribir código PyQt utilizando su editor de texto favorito o entorno de desarrollo integrado (IDE). También hay muchos recursos disponibles en línea, incluidos tutoriales, documentación y foros, que pueden ayudarlo a obtener más información sobre PyQt y el desarrollo de GUI en Python.

Te podría interesar...

Deja una respuesta

Subir