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

Inheritance diagram of PySide6.QtQml.QQmlNetworkAccessManagerFactory


Virtual functions#


This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

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#
abstract PySide6.QtQml.QQmlNetworkAccessManagerFactory.create(parent)#


Return type:


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.