QQmlNetworkAccessManagerFactory

The QQmlNetworkAccessManagerFactory class creates QNetworkAccessManager instances for a QML engine. More

Inheritance diagram of PySide6.QtQml.QQmlNetworkAccessManagerFactory

Detailed Description

A QML engine uses QNetworkAccessManager for all network access. By implementing a factory, it is possible to provide the QML engine with custom QNetworkAccessManager instances with specialized caching, proxy and cookies support.

To implement a factory, subclass QQmlNetworkAccessManagerFactory and implement the virtual create() method, then assign it to the relevant QML engine using setNetworkAccessManagerFactory() .

Note the QML engine may create QNetworkAccessManager instances from multiple threads. Because of this, the implementation of the create() method must be reentrant . In addition, the developer should be careful if the signals of the object to be returned from create() are connected to the slots of an object that may be created in a different thread:

  • The QML engine internally handles all requests, and cleans up any QNetworkReply objects it creates. Receiving the finished() signal in another thread may not provide the receiver with a valid reply object if it has already been deleted.

  • Authentication details provided to authenticationRequired() must be provided immediately, so this signal cannot be connected as a QueuedConnection (or as the default AutoConnection from another thread).

For more information about signals and threads, see Threads and QObjects and Signals and Slots Across Threads.

class PySide6.QtQml.QQmlNetworkAccessManagerFactory
PySide6.QtQml.QQmlNetworkAccessManagerFactory.create(parent)
Parameters

parentPySide6.QtCore.QObject

Return type

PySide6.QtNetwork.QNetworkAccessManager

Creates and returns a network access manager with the specified parent. This method must return a new QNetworkAccessManager instance each time it is called.

Note: this method may be called by multiple threads, so ensure the implementation of this method is reentrant.