lunes, 15 de noviembre de 2010

Códigos QR en linux.

Para hacer códigos QR (esa especie de código de puntitos que últimamente tanto sale por las ervistas) se puede instalar el "qrencode".
Esto es el programa de dos 'post' atrás. Para decodificarlo en GNU/Linux desgraciadamente es mas difícil (no hay un paquete prefabricado para hacerlo), hay que hacerlo uno mismo con las librerías "libdecodeqr", las cuales afortunadamente tienen un ejemplo.

2 comentarios:

  1. #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import curses, sys, traceback, os
    #Variables globales
    class globales:
    scrn = None #la pantalla principal
    menu = None #la 'caja' de los menus
    tecla = None
    #clases
    #funciones
    def inicializa(stdscr):
    globales.scrn = stdscr # curses.initscr() el "wrapper" ya lo inicializa
    curses.noecho() #para que no se vean en pantalla las teclas que golpeamos
    curses.cbreak() #para no tener que dar a retorno cada vez que se pulsa una tecla
    curses.curs_set(0) #para ocultar el cursor
    curses.start_color() #para poner colores (aunque no he usado esto)
    globales.scrn.clear() #se limpia la pantalla principal
    globales.scrn.keypad(1) #para poder leer las teclas de funcion, etc.
    globales.scrn.border() #ponemos un borde a la pantalla principal
    globales.scrn.refresh() #y pintamos...

    def menus():
    globales.menu = curses.newwin(3, 78, 1, 1) #creamos la 'caja' de los menús
    globales.menu.clear() #limpiamos la caja
    globales.menu.border() #le ponemos un borde
    globales.menu.addstr(1, 1, "F", curses.A_UNDERLINE)
    globales.menu.addstr(1, 2, "ile")
    globales.menu.addstr(1, 6, "Q", curses.A_UNDERLINE)
    globales.menu.addstr(1, 7, "uit")
    globales.menu.refresh() #y pintamos...
    while True:
    globales.tecla = globales.scrn.getch()
    globales.tecla = chr(globales.tecla)
    if globales.tecla == 'q':break
    if globales.tecla == 'f':
    fichero()

    def fichero():
    globales.files = curses.newwin(4, 10, 3, 1)
    globales.files.clear()
    globales.files.border()
    globales.files.addstr(1, 1, "O", curses.A_UNDERLINE)
    globales.files.addstr(1, 2, "pen")
    globales.files.addstr(2, 1, "E", curses.A_UNDERLINE)
    globales.files.addstr(2, 2, "xit")
    globales.files.refresh()
    while True:
    globales.tecla = globales.scrn.getch()
    globales.tecla = chr(globales.tecla)
    if globales.tecla == 'e':
    globales.files.clear() #limpiamos el menú de ficheros
    globales.files.refresh()
    globales.scrn.redrawwin() #reescribimos la pantalla principal
    globales.scrn.refresh()
    globales.menu.redrawwin() #reescribimos la caja de menús
    globales.menu.refresh()
    break
    if globales.tecla == 'o':
    globales.scrn.addstr(10, 1, "Python curses in action!")


    pass

    def main(stdscr):
    inicializa(stdscr)
    menus()
    return 0
    #principal
    if __name__ == '__main__':
    curses.wrapper(main)

    ResponderEliminar