Curso de creación de GUIs con Qt. Capítulo 08: Mejorando lo visto

[Este artículo viene de una revisión de lujo que ha hecho Cristián Maureira-Fredes de los capítulos anteriores. Cristián trabaja como ingeniero de software en el proyecto Qt for Python dentro de The Qt Company. Este artículo lo escribo yo pero a partir de las sugerencias de Cristián por lo que, en este caso, soy un mero intermediario y el autor podría ser él. Gracias, Cristián].

Hasta ahora hemos estado viendos cosas sencillas. Algunas no eran del todo correctas o son mejorables. En este capítulo describo cómo mejorar algunas de las cosas que hemos venido haciendo hasta ahora.

Índice:

[Los materiales para este capítulo los podéis descargar de aquí]

[INSTALACIÓN] Si todavía no has pasado por el inicio del curso, donde explico cómo poner a punto todo, ahora es un buen momento para hacerlo y después podrás seguir con esta nueva receta.

Partimos del siguiente código:

Constructor de la clase

Al llamar al constructor de la clase que heredamos, existen varias formas y la mayoria son equivalentes. Podemos ver estas tres:

Sacado de aquí.

Hasta ahora he venido usando la tercera forma. Cristián indica que es correcto llamarlo así pero que él prefiere usar la primera forma, la cual es más explícita y puede ser más evidente y menos liosa en casos de herencia múltiple.

Por tanto, a partir de ahora usaré la primera forma para ser más explícito y respetar el zen de Python (Explicit is better than implicit.).

Padre de un QObject

Cristián indica que es buena práctica incluir un padre en el inicializador, aunque este sea None. Por diseño, todos los QObject tienen que tener un padre así que lo incluiré:

Método show explícito

Hasta ahora, dentro del método _create_ui había una llamada al método show que es el que hace que se abra la ventana. Al hacerlo así se puede perder la noción de porqué se abre la ventana y sería mejor dejarlo dentro del bloque final (if __name__ == '__main__':). De esta forma quedaría así:

Resumen

Teniendo en cuenta estas tres cosas, el bloque inicial de código que he puesto quedará así:

Y, por hoy, creo que ya es suficiente.

Como resumen. Hemos aplicado una serie de buenas prácticas que intentaré respetar de aquí en adelante.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

fifty eight − 51 =