Traduciendo QtQR :-)

Como ustedes saben, QtQR está escrito utilizando el excelente framework Qt4, mediante sus bindings Python PyQt4; resulta que como parte de este framework viene una excelente utilidad llamada Qt4 Linguist que, teniendo la precaución de marcar los strings para ser traducidos, nos permite traducir nuestra aplicación al idioma que queramos sin grandes inconvenientes.. 🙂 y, además, detecta solo el idioma que tiene que aplicar.. 😀
Les dejo una screenshot de QtQR con su interfaz en español para que me crean:

QtQR en Español
Interfaz de QtQR en Español (Argentina)

Prometo actualizar el post con una mini indicación de cómo hacerlo en tu propia aplicación.. 😉

UPDATE: Como les prometí me puse a escribir como traducir aplicaciones Qt4, pero me quedó muy largo, asi que hice un post aparte: https://ralgozino.wordpress.com/2011/06/26/como-traducir-aplicaciones-qt4/

Que lo disfruten!

Anuncios

How to create and decode a QR Code in Python using qrtools

This is a mini-How-to for creating and decoding QR Codes in Python using the qr-tools library.

What you need…

First of all you need qrtools.py, you can get it from the QR Toosl Launchpad page:

http://bazaar.launchpad.net/~qr-tools-developers/qr-tools/python-qrtools-trunk/view/head:/qrtools.py

or you can install it from the QR Tools Stable PPA if you happen to be using Ubuntu:

https://code.launchpad.net/~qr-tools-developers/+archive/daily

If you go with the PPA, you can check that qrtools is available in your system like this:

  1. Open a terminal and execute: python
  2. Once you are into python, write import qrtools and press enter; if you don’t get any message everything is OK.
If you choose to download qrtools.py, put the file in the same directory where your script is going to be, for example: /home/me/myproject/.
Once you have the qrtools library available from your python enviroment, we can go on with the next steps.

Icono con estilo Faenza para Scribes :-)

Scribes Screenshot
Scribes Screenshot

Para programar utilizo un excelente editor de textos llamado Scribes, que tiene la filosofía de tratar de interferir lo menos posible con uno y de dejar un ambiente de trabajo limpio y cómodo. Tiene funciones muy interesantes como completado de código, bookmarks, themes, unos atajos de teclado muy interesantes, entre otras características. Les recomiendo altamente que lo prueben si están buscando un editor como la gente. 😉

Pueden obtener más información (videos, tutoriales, etc.) en la página principal de Scribes: http://scribes.sourceforge.net/

Por otro lado, en mi escritorio utilizo hace un tiempo ya el tema de íconos Faenza; es realmente excelente! aunque al principio no me convencía mucho, era demasiado “iPhoneado” para mi gusto, pero una vez que los probás es imposible dejar de usarlo! Lamentablemente Mathew James (el creador del tema) no hizo un ícono para este excelente editor de texto.. asi que puse manos a la obra y lo hice yo mismo! 😀 Estoy bastante contento con el resultado, asi que lo comparto acá por si a alguien le sirve. Aunque debo admitir que ya había estado jugando un poco haciendo el nuevo ícono para QtQR que quedó de lujo también! 😉 (pronto lo van a poder ver cuando salga la versión 1.2)

Sigue leyendo

Que hacer cuando tenés muchas tabs… (o QTabWidget vs. QStackedWidget)

Agregando funcionalidad a QtQR, me encontré con este problema. Resulta que son tantas las plantillas para generar códigos QR que me quedó chico el QTabWidget.. quedan tantas tabs que pierde todo el sentido de funcionalidad; hay que desplazarse para ver las otras plantillas disponibles y sinceramente no me gusta como queda, veanlo por ustedes mismos:

Así estaba la interfaz previo agregar las nuevas plantillas:

QtQR 1.2 Screenshot
QtQR 1.2 Screenshot

Sigue leyendo

Introducing QtQR: a QR Code generator and decoder.

DISCLAIMER: Este post va en Inglés.. pronto lo paso al español.. Sepan disculpar.

What is QtQR?

QtQR is an graphical application for creating QR Codes easily; It also let’s you decode a QR Code stored on an image file or scan a printed one with your webcam.

…a QR what?

I don’t know, ask the japanese guys.. all I can say is that a QR Code is a two-dimensional barcode that looks something like the image below. According to the Wikipedia:

QtQR logo

QR Code used as logo for QtQR

“A QR code (short for Quick Response) is a specific matrix barcode (or two-dimensional code), readable by dedicated QR barcode readers and camera phones. The code consists of black modules arranged in a square pattern on a white background. The information encoded can be text, URL or other data.
Common in Japan, where it was created by Toyota subsidiary Denso-Wave in 1994, the QR code is one of the most popular types of two-dimensional barcodes. QR is the abbreviation for Quick Response, as the creator intended the code to allow its contents to be decoded at high speed[…]”

That’s for the formal definition, basically the QR Codes are useful for sharing a lot of information with a simple scan. They are used by the marketing guys for example in publicity. You can put an url, all your contact info, a predifined e-mail message, a sms message, a telephone number and anything you can think of on a QR code and anyone with a modern phone (not necessary a smartphone) can scan the code with the phone’s camera and decode all the data.

Say you want to make a personal presentation card with your contact information like your name, address, e-mail and phone number. You can put all that into a QR code, print it in the back of the card and instead of copying by hand your number a client can scan the code with his phone. 🙂 are you starting to like them?

There are several alternatives for creating a QR Code: websites, smartphone applications and there is even a command line application for Linux called qrencode. QtQR is a GUI front end for the latter made in Python and PyQt4.

QtQR 1.0

QtQR started as a simple wrapper for the command line program qrenconde inspired by a blog post. You can still download it from the google code page. Then I added the decoding feature using zbar; you can see how it worked in the following screencast:

At the same time David Green started to work on a GTK based GUI, so we got in contact and joined forces. From this the QR Tools project was borned; QR Tools project formed by:

  • python-qrtools: a library for creating and decoding QR Codes.
  • QtQR: a Qt4 based GUI.
  • QR Code Creator: a GTK based GUI.
In python-qrtools we work together with David making the core functions that I use in QtQR; you can even download the library and use it in your own projects to create or decode QR Codes.

The next step was to add templates for encoding text, urls, email address, sms and telephone numbers; setting qrenconde parameters and the capability to decode using a webcam. This realease was called QtQR 1.0. You can see a screenshot below.

QtQR 1.0 Screenshot
QtQR 1.0 Screenshot

at that moment QtQR was covered by OMG! Ubuntu! and got a lot of interest from the community. Right now we are working on the 1.2 version of QtQR, fixing bugs and adding features.

Sigue leyendo

Diccli…

… o cómo hacer un diccionario en python en menos de 50 lineas

Como sabrán (?) estoy haciendo un curso de Italiano per piacere y porque estaba completamente desocupado mas que nada… resulta que buscando y buscando no hay muchos traductores on-line de Italiano a Español (y viceversa) vaya uno a saber a que se debe; lo que si encontré en “All free dictionaries project” http://www.dicts.info/. De su página se pueden bajar unos archivos “.txt” para varios idiomas, entre los cuales encontré uno con traducciones de Italiano al Español :D.

El archivo está organizado más o menos así:

[espacio]palabra[espacio][tab][espacio]traduccion[espacio][tab][espacio]tipo de palabra (adjetivo, verbo, etc.)[espacio]

Como verán, no es muy díficil hacer un programita que permita separar todo eso.. con la ayuda de split y slices sale con fritas! 😀

Sigue leyendo

Bienvenido, Yo!

Hola!

Este es mi primer post en mi blog personal, lo lógico sería que explique de que trata esto no? bueno, ahi vamos.. después de mucho tiempo de dudarlo decidí lanzarme a la escritura, sentía que tenía cosas para compartir y los 140 caracteres de twitter me quedaban cortos 😉 la razón principal fue que un proyecto open-source en el que estoy trabajando tuvo cobertura en uno de los blogs mas importantes que hay sobre Ubuntu, OMG Ubuntu!, pero el post me dejó con gustos a poco y me gustaría que haya un lugar donde poder explayarme, entre otras cosas. También desarrollando este proyecto y otros me encuentro con cosas de Python que me encantaría compartir o escribirlas para consultarlas en el futuro, y también por qué no, escribir mis opiniones sobre algún tema que esté de moda y que todos me insulten compartan su visión de las cosas..

En fin, de a poco veremos que va saliendo por este blog. Es mi primer experiencia en la “blogosfera” (y empiezo utilizando un término que está practicamente muerto.. ja!) Espero no aburrirlos mucho..

Gracias por leer hasta acá..

Saludos!