Python - Comenzando con Python

 
Vista:
sin imagen de perfil

Comenzando con Python

Publicado por Diego (1 intervención) el 28/12/2012 19:16:54
Hola a todos, soy nuevo(muy nuevo) en Python, estoy haciendo unas pruebas y la verdad es que ando un poco mareado.

Se trata de simplemente de pulsar un boton y que arranque zbar para leer códigos de barras con la web cam, he conseguido que arraque y lea códigos, pero si muevo la ventana donde se ve lo que esta viendo la web cam el programa peta, a no se que añada la linea cuadro.iconify() pero entonces si cierro la ventana del zbar me sale que python.exe debe cerrarse, error, bla, bla, bla.

No se como cerrar el zbar desde el mismo cuadro que lo hago y sin que me dé error.

Gracias de antemano, pido ayuda porque estoy bloqueado totalmente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import Tkinter
import readcode
import time
def leer():
   cuadro.iconify()#si no pongo esta linea peta simplemente al mover la ventana de zbar
    time.sleep(2)
    readcode.start()
cuadro=Tkinter.Tk()
cuadro.geometry("300x200")
cuadro.title("INICIO")
boton=Tkinter.Button(cuadro, text="pulsa", command=leer)
b_close=Tkinter.Button(cuadro, text="cerrar", command=cuadro.destroy)
boton.pack()
b_close.pack()
cuadro.mainloop()
 
#MODULO READCODE ORIGINAL DE ZBAR, SOLO HE AÑADIDO LA LINEA def start():
import os
import sys
zbar_path = os.path.join(os.environ['ProgramFiles'], 'zbar', 'bin')
os.environ['PATH'] = "{0};{1}".format(os.environ['PATH'], zbar_path)
from sys import argv
import zbar
def start(): #SOLO HE AÑADIDO ESTA LINEA
 # create a Processor
    proc = zbar.Processor()
 
# configure the Processor
    proc.parse_config('enable')
 
# initialize the Processor
    device = '/dev/video0'
    if len(argv) > 1:
        device = argv[1]
    proc.init(device)
 
# setup a callback
    def my_handler(proc, image, closure):
 
    # extract results
        for symbol in image.symbols:
        # do something useful with results
            print 'decoded', symbol.type, 'symbol', '"%s"' % symbol.data
 
    proc.set_data_handler(my_handler)
 
# enable the preview window
    proc.visible = True
 
# initiate scanning
    proc.active = True
    try:
    # keep scanning until user provides key/mouse input
        proc.user_wait()
 
    except zbar.WindowClosed, e:
        pass
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder