Usando tipografías propias en Qt

El dar un toque de distinción a nuestras aplicaciones puede pasar por utilizar tipografías que no son estándares, o que sólo vienen incluidas con instalaciones de determinados programas que no podemos asumir estén siempre presentes (ejemplo típico, MS Office, suites de Adobe…).

La opción más conveniente es la de incluirlas con nuestra aplicación (no hablaré de licencias ni nada parecido, asumo que todo está en orden). Para esto se pueden bien copiar junto al ejecutable, o incluir en un fichero de recursos (QRC). En cualquier de ambos casos habrá que registrar las fuentes antes de poder utilizarlas, especialmente si deseamos usarlas desde hojas de estilos.

Recordad que en Qt las rutas que empiezan por «:» pertenecen al sistema de ficheros …

Sigue leyendo →

Breve introducción al uso de RSA con OpenSSL

De cara a un proyecto que he tenido que hacer en estos días, me he topado con la necesidad de utilizar OpenSSL para ciertas operaciones relacionadas con RSA, el cual no había tenido el placer de probar hasta la semana pasada.

Dejo acá un poco mi experiencia y resumen de uso, tanto en la línea de comandos como en el uso de la biblioteca de programación.

Nota: lo he usado sólo en entorno Windows, por lo que no estoy seguro si la sintaxis sea exactamente igual.

Generar el par de claves pública y privada

Primero generamos la clave privada en formato PEM (el número al final es el tamaño de la clave, si se omite será de 512 bits):…

Sigue leyendo →

Intuición y OpenSSL: exportando claves RSA

Pocas cosas hay menos intuitivas en este mundo que el exportar las claves RSA privada y pública en OpenSSL: de entrada uno piensa que son PEM_write_bio_RSAPrivateKey y PEM_write_bio_RSAPublicKey. Todo compila, las salidas son coherentes y parece que todo va bien, pero pronto uno descubre no hay manera de hacer que el programa no falle al usar la clave pública. El problema radica en que la función a utilizar es ¡PEM_write_bio_RSA_PUBKEY!

Enlaces relacionados

Sigue leyendo →

Traducciones en Qt

El sistema de traducciones de Qt es muy simple: usar el método QObject::tr() para definir los textos a traducir, crear un fichero .ts para cada idioma, ejecutar el comando lupdate para actualizar esos ficheros con las nuevas frases del proyecto, traducirlas y ejecutar lrelease para generar el fichero que usa Qt con las traducciones. El sistema es muy potente, por ejemplo, no hace falta nada especial para cambiar a idiomas orientales, simplemente funciona, además de proveer ayudas a la traducción como libros de frases para tener traducciones «pre-hechas», o detectar incoherencias en parámetros o signos de puntuación distintos entre traducciones los muestra.

Como siempre, no quiero dar un curso, sólo recopilar algunos tips nacidos del día a día.

Frases dinámicas

Sigue leyendo →

¡Hola mundo!\n

Aprovechando hoy el 30 aniversario de la WWW, comenzamos este espacio de divulgación del mundo del desarrollador. No pretende tener tópicos cerrados ni abarcar todo, simplemente un poco de mi día a día, casi a modo de auto-documentación (modalidad que uso mucho en StackOverflow). Para quien quiera conocer algo más sobre mí puede visitar mi página personal cbuchart.com.

Sin más que agregar, ¡comencemos!

Sigue leyendo →