QNetworkAccessManager singleton class example

  • I am new in both qt and c++, can someone give me example of QNetworkAccessManager singleton class ?

  • Moderators

    actually any singleton example on the web is applicable since the pattern is independant of the type, but here you go:

    QNetworkAccessManager* getNAM() {
        static QNetworkAccessManager* nam = new QNetworkAccessManager;
        return nam;

  • .h file

    class QNAMwrapper{
    static QNetworkAccessManager* m_qnam;
    static QNetworkAccessManager* getQNAM() {
    Q_ASSERT_X(m_qnam,"QNAMwrapper","You must create an instance of QNAMwrapper before using the QNAM");
    return m_qnam;
    Q_ASSERT_X(!m_qnam,"QNAMwrapper","Only one instance of QNAMwrapper can be created");
    if(!m_qnam) m_qnam=new QNetworkAccessManager;
    ~QNAMwrapper(){delete m_qnam; m_qnam=Q_NULLPTR;}

    cpp file

    QNetworkAccessManager* QNAMwrapper::m_qnam = Q_NULLPTR;

    This works like QApplication and handles the lifecycle of QNetworkAccessManager. So in your main add QNAMwrapper qnamw; and then you can use the QNetworkAccessManager via QNAMwrapper::getQNAM();

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.