Pyqt y cliente websocket. escuchar websocket en el fondo

Tengo una aplicación PyQt Gui. Esta aplicación tiene una ventana principal que debería estar abierta después del inicio.

Esta aplicación debe escuchar el websocket.

Traté de resolverlo así:

...

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)

    window = Window()
    window.show()

    websocket.enableTrace(True)
    ws = websocket.WebSocketApp("ws://localhost:8080/chatsocket",
                                on_message = on_message,
                                on_error = on_error,
                                on_close = on_close)
#    ws.on_open = on_open

    ws.run_forever()

    sys.exit(app.exec_())

Pero, después de iniciar la aplicación, la ventana principal no estaba abierta.

Sin la línea "ws.run_forever ()" la ventana principal estaba abierta pero la aplicación no escucha websocket.

Necesito escuchar el websocket en el "fondo"? ¿Me puedes ayudar?

PD: (perdon por mi ingles)

Respuestas a la pregunta(1)

Su respuesta a la pregunta