Im developing a desktop application using PySide.

The ui is a window with a webkit widget. I am using HTML, CSS and Javascript for the actual ui.

Ive read that the network access manager completes tasks asynchronously.

My code creates a network request and then connects the finished signal to a function that then updates my webkit DOM.

My problem is that once I click my button to launch the request my UI freezes until the request has been returned.

Do I need to use multiple threads? Why does my ui freeze?

Do I need to use any of these approaches?