-
posts
-
Uno de los aspectos que más me gusta de C++ es el RAII (Resource Acquisition Is Initialization). Introducida por Bjarne Stroustrup, esta técnica hace uso de los constructores y destructores para la correcta gestión de recursos.
-
Una forma sencilla, rápida y cuasi-automática de medir tiempos de ejecución en funciones
Una tarea típica del programador es la de saber si una función es eficiente o no, tanto desde el punto de vista algorítmico como de tiempo de ejecución real. Creo necesario matizar que ambos valores son importantes, ya que el primero nos dirá el comportamiento del algoritmo a medida que el conjunto de datos crezca, y el segundo un valor más palpable, cercano a lo que el usuario final percibirá.
-
Pequeños trucos para los QDialogs
Es habitual que nuestras aplicaciones no se restrinjan a una única ventana, sino que se sucedan diversas ventanas de opciones, mensajes, informes, selección de datos, visualización de resultados, etc.
-
Un cuadro de búsqueda simple y en tiempo real
Un caso de uso recurrente en muchas aplicaciones es la de tener un conjunto de entradas, posiblemente visualizadas en una tabla, y tener que realizar una búsqueda sobre dichos datos. Si la búsqueda ha de soportar diversas opciones tales como filtrar por fecha, rangos de valores, escoger tipo de envío, campos en los que se buscará, etc., pues seguramente haya que diseñar una ventana específica que cumpla dichos requerimientos. Pero muchas otras veces bastará con un pequeño cajetín de texto donde el usuario escriba lo que desea y el listado de entradas se actualice acorde (y preferiblemente en caliente, conforme se va escribiendo). ¡Vamos a ello!
-
Signals y slots en Qt (parte II)
En esta segunda entrega de Signals y Slots, estudiaremos la nueva sintaxis introducida en Qt 5, así como una comparativa respecto a la forma antigua, y cómo resolver los principales problemas que puedan surgir.
-
Signals y slots en Qt (parte I)
Al hablar de Qt vienen inmediatamente a la cabeza dos palabras: signals y slots. Y es que Qt usa ampliamente este mecanismo de comunicación, muy similar al patrón observador, especialmente en lo referente a interfaces gráficas. La documentación de Qt es muy extensa en el uso de este mecanismo, pero me ha parecido interesante resaltar algunos aspectos básicos y otros un poco menos obvios. -
Un breve tratado sobre la coexistencia de múltiples Q*Application
Hace un par de años me tocó embeber el editor de interfaces de Qt (Qt Designer) dentro de otra aplicación. Si bien el cómo lo hice no tiene demasiada importancia ahora mismo, resulta que me enfrenté al siguiente problema: Qt Designer crea su propia instancia de QApplication, pero es que ¡la nueva aplicación contenedora también! Así que ante la clara pregunta ¿tendré problemas?, decidí estudiar el tema un poco más a fondo. -
Efectos colaterales de los menús contextuales en Qt
Cuando se despliega un menú contextual en un widget de Qt, éste se apropia del mouse lo que evita que los otros widgets que han solicitado seguir continuamente el movimiento del cursor no reciban el evento mientras el menú contextual esté desplegado. En esta entrada explicamos cómo solucionar este problema. -
Introducción a los QProxyStyle
Los QProxyStyle son un gran aliado a la hora de personalizar la apariencia de nuestra aplicación, sin tener que reimplementar por completo un estilo nuevo. -
Usando tipografías propias en Qt
En esta entrada comentamos cómo añadir ficheros de fuentes en nuestros proyectos Qt.
template<class Cpp, class Qt, class ... Y_Mas>