Estoy pasando estas vacaciones aprendiendo a escribir aplicaciones Qt. Estuve leyendo acerca de Qt Designer hace unas pocas horas, lo que me hizo preguntarme: ¿qué usan las personas que escriben aplicaciones del mundo real en Qt para diseñar sus GUI? De hecho, ¿cómo las personas diseñan GUI en general?GUI codificada a mano Versus GUI de Qt Designer
Yo, por ejemplo, descubrí que escribir el código a mano era conceptualmente más simple que usar Qt Designer, aunque para las interfaces gráficas complejas el diseñador podría tener sentido. Es posible utilizar GUI grandes con Designer, pero con el tiempo pueden ser muy difíciles de administrar a medida que aumenta la complejidad (esta es solo mi opinión). También descargué el código fuente de AmaroK para echar un vistazo a lo que estaban haciendo esos tipos, y encontré muchas llamadas a addWidget() y amigos, pero ninguno de esos archivos XML creados por Designer (aparte: AmaroK tiene que ser mi aplicación favorita siempre en cualquier plataforma).
¿Cuál es, entonces, la forma "correcta" de crear una GUI? Diseñador o código? Permítanos, para esta discusión, considerar los siguientes tipos de GUI:
- Cuadros de diálogo sencillos que solo necesitan ingresar, mostrar algunos resultados y salir. Supongamos una aplicación que toma una URL de YouTube y descarga el video en el disco duro del usuario. El tipo de aplicaciones con las que es probable que empiece un novato.
- GUI de nivel intermedio como, por ejemplo, un editor de notas adhesivas con algunas barras de herramientas/elementos de menú. Tomemos xPad por ejemplo (http://getxpad.com/). Yo diría que la mayoría de las aplicaciones caen en la categoría de "utilidades".
- GUI muy complejas, como AmaroK u OpenOffice. Los conoces cuando los ves porque te hacen sangrar los ojos.
Nunca debería haber una necesidad de modificar el código generado por uic (el compilador de archivos .ui). Si se necesita más funcionalidad, creó una nueva clase que hereda de la clase generada o la incluye como miembro y agrega el código necesario. –
Vale la pena señalar que en Qt3 y principios de Qt4 (circa 2008), Qt Designer carecía de una serie de características que pueden haber sido sorprendentes para algunos, como la falta de soporte para grupos de botones, ranuras personalizadas, nombrar QLayouts, etc. Pero durante los últimos 5 -6 años más o menos, todos esos problemas han sido abordados. Prefiero usar archivos UI si puedo, es mucho más fácil reorganizar diseños y resulta en mucho menos código para mantener. –