Subprocesos en una aplicación PyQt: ¿Usar hilos Qt o hilos Python?

Estoy escribiendo una aplicación GUI que regularmente recupera datos a través de una conexión web. Dado que esta recuperación tarda un tiempo, esto hace que la IU no responda durante el proceso de recuperación (no se puede dividir en partes más pequeñas). Por eso me gustaría externalizar la conexión web a un subproceso de trabajo separado.

[Sí, lo sé, ahora tengodos problemas.]

De todos modos, la aplicación usa PyQt4, así que me gustaría saber cuál es la mejor opción: usar los hilos de Qt o usar Pythonthreading ¿módulo? ¿Cuáles son las ventajas / desventajas de cada uno? ¿O tienes una sugerencia totalmente diferente?

Editar (re recompensa): Si bien la solución en mi caso particular probablemente será usar una solicitud de red sin bloqueo comoJeff Ober yLukáš Lalinský Sugerido (básicamente, dejando los problemas de concurrencia a la implementación de la red), todavía me gustaría una respuesta más detallada a la pregunta general:

¿Cuáles son las ventajas y desventajas de usar los hilos de PyQt4 (es decir, los de Qt) sobre los hilos nativos de Python?threading módulo)?

Edición 2: Gracias a todos por sus respuestas. Aunque no hay un acuerdo del 100%, parece haber un consenso generalizado de que la respuesta es "usar Qt", ya que la ventaja de esto es la integración con el resto de la biblioteca, sin causar desventajas reales.

Para cualquier persona que quiera elegir entre las dos implementaciones de subprocesos, les recomiendo que lean todas las respuestas proporcionadas aquí, incluido el subproceso de la lista de correo PyQt queabad vínculos a.

Hubo varias respuestas que consideré para la recompensa; al final elegí abad para la referencia externa muy relevante; Fue, sin embargo, una llamada cercana.

Gracias de nuevo.

Respuestas a la pregunta(7)

Su respuesta a la pregunta