Saltar al contenido

Curso de creación de GUIs con Qt. Capítulo 14: Widgets en Designer (IV)

En el mundo Qt tenemos una herramienta RAD (Rapid Application Development). Esta herramienta se llama Qt Designer y nos permite crear prototipos de nuestras aplicaciones de forma rápida y visual. En este nuevo capítulo sigo dando un repaso a los widgets disponibles dentro de Designer y los contenedores son una parte extremadamente importante para poder organizar la funcionalidad y que tenga cierto sentido.

Í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 este nuevo capítulo.

Llega el momento de ver los widgets que nos sirven como continente para otros widgets y que nos permiten darle sentido al GUI organizando las cosas por funcionalidad.

El vídeo está a continuación:

Paso ahora a la sección de Containers. Empiezo con el GroupBox. Como su propio nombre indica sirve para agupar cosas. Voy a crear uno y le voy a meter unos cuantos radiobuttons. Voy a meter también unos cuantos radiobuttons pero, esta vez, fuera del groupbox. Véis que tengo unos radiobuttons dentro del groupbox y otros que están fuera. Si le doy a ver la ventana en acción usando Ctrl+R y pulso sobre los radiobuttons de dentro del groupbox verás que cuando selecciono uno se deselecciona el otro que estuviera seleccionado. Si intento hacer lo mismo con los que están fuera del groupbox esto no sucede así. El groupbox, además de permitirme agrupar cosas me ayuda a tener comportamientos por defecto. Cierro, borro y hablo ahora del ScrollArea. Esto me permite hacer scroll y que no haya cosas que dejen de verse y estar accesibles en la pantalla, por ejemplo, cuando redimensionamos o estamos en pantallas con otras resoluciones. Voy a meter unos pocos widgets dentro de la ventana para ver un poco esto. Meto tres textedit. Ahora previsualizo el GUI y cambio el tamaño. Veis que cuando es muy pequeño algunos de los textedit desaparecen y no puedo acceder a los mismos. Si alguien abriese esa ventana y el tamaño fuese muy pequeño sería horrible porque no sabría lo que tiene la ventana. Esto se puede aliviar si uso un layout (hablaré sobre los layouts más adelante). Meto todo en layouts verticales. Le doy a previsualizar y, si os fijáis, ahora cuando redimensiono me salen unas barras de scroll. Seguimos, paso ahora al ToolBox, este me gusta poco porque me resulta feo, poco intuitivo e incómodo. Lo que hace es que me permite tener varias secciones pero, repito, de una forma un tanto fea en mi humilde opinión. Me gusta más usar un TabWidget. Creo que se consigue lo mismo pero de una forma más elegante. El StackedWidget también nos permite tener una serie de secciones. Creo uno, le meto algún widget a cada sección. Creo una sección nueva, etc. Paso ahora a los frames. Pueden ser muy versátiles. Se pueden usar como contenedores, se pueden usar como separador, se pueden usar para dar estilo a una zona del GUI. No os preocupéis por el tema de los estilos que lo veremos en detalle en otro momento. Del Widget en sí no voy a hablar. Es lo que estoy usando en todo momento y el resto de cosas que estamos viendo son evoluciones de esto (nuestras piezas de lego). Un MDI area o Multiple Document Interface area o área de interfaz de múltiples documentos es algo un poco en desuso. Aquí lo podéis ver en acción. Por último, en esta sección tenemos el DockWidget que nos permite tener una zona que se puede trasladar y anclar a diferentes zonas de la ventana como estáis viendo. Se puede cerrar. Si tengo un MainWindow lo puedo anclar a zonas de la ventana. En el propio Designer tenemos y podemos experimentar con ello. Hemos visto un montonazo de widgets contenedores. Otro día seguimos con más.

Los contenedores son una parte importante puesto que nos permiten darle sentido al GUI y que cada cosa esté organizada para el usuario.

Deja una respuesta

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

ninety two − 83 =

Pybonacci