Hola,
No conozco algunos modulos que mencionas en tu script. Pero si estoy usando tkinter. Y para el problema que mencionas, creo, te van a recomendar el uso de hilos o threads. El bucle while tampoco se lleva demasiado bien con tkinter.
Te paso unos enlaces de un blog por si quieres profundizar en el tema:
http://python-para-impacientes.blogs...n-hilos-i.html http://python-para-impacientes.blogs...ilos-y-ii.html
Saludos!