Foros del Web » Programando para Internet » Python »

¿Proceso en segundo plano python con Tkinter?

Estas en el tema de ¿Proceso en segundo plano python con Tkinter? en el foro de Python en Foros del Web. Hola muchá. La cosa es que estoy haciendo un programa que analiza Dispositivos USB cada vez que se insertan, y con eso uso la instrucción ...
  #1 (permalink)  
Antiguo 16/08/2012, 12:18
 
Fecha de Ingreso: julio-2012
Ubicación: San Mateo Ixtatán, Huehuetenango, Guatemala
Mensajes: 12
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta ¿Proceso en segundo plano python con Tkinter?

Hola muchá.

La cosa es que estoy haciendo un programa que analiza Dispositivos USB cada vez que se insertan, y con eso uso la instrucción "While analizando:" y cada vez que ejecuto el proceso la ventana(tkinter) se queda congelada.

Lo que quisiera es que mientras el "while" se este ejecutando se pueda interactuar con el programa y poder poner un botón para cambiar la variable "analizando" a False y así parar el proceso.

Gracias de antemano


Aka les dejo el código:

################## CODIGO ######################
Código:
def analisis0():
    global protejiendo
    letras = ["D:\ ","E:\ ","F:\ ","G:\ ","H:\ ","I:\ ","J:\ ","K:\ ","L:\ ","M:\ ","N:\ ","O:\ ","P:\ ","Q:\ ","R:\ ","S:\ ","T:\ ","U:\ ","V:\ ","W:\ ","X:\ ","Y:\ ","Z:\ "]
    unidadesExistentes = []
    unidadesInExistentes = []
    while protejiendo:
        for i in letras:
            logText = ""
            i = i[0:3]
            logText = logText+"Unidad: "+i
            if i in unidadesExistentes:
                if not os.path.exists(i):
                        unidadesExistentes.remove(i)
                        logText = logText+"  -->Desconectada\n\n"
                        LOG.insert(END, logText)
            elif i in unidadesInExistentes:
                if os.path.exists(i):
                    unidadesExistentes.append(i)
                    logText = logText+"  -->Conectada\n\n"
                    # Analizar
                    LOG.insert(END, logText)
            elif i not in unidadesExistentes and i not in unidadesInExistentes:
                if os.path.exists(i):
                    unidadesExistentes.append(i)
                    logText = logText+"  -->Conectada\n\n"
                    # Analizar
                    LOG.insert(END, logText)
  #2 (permalink)  
Antiguo 16/08/2012, 12:45
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 9 meses
Puntos: 1329
Respuesta: ¿Proceso en segundo plano python con Tkinter?

Lo que necesitas son crear threads: http://mundogeek.net/archivos/2008/0...ads-en-python/

Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: plano, proceso, segundo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:45.