Domanda

Voglio salvare un esistente alredy QSettings oggetto in qualche file INI per il backup.

Il QSettings Viene dalle impostazioni globali dell'applicazione, cioè. Può essere registro, file Ini, ecc.


Nel caso in cui aiuti, il mio contesto è:

class Params
{
    // All params as data members
    // ...
    void loadGlobal ()
    {
        Qettings s; // Global parameters, paths set by application
        // Fill data members: s.value (...);
    }
};

class Algo
{
    Result run (Params p)
    {
        Result r = F(p);
        return r;
    }
};

int main (...)
{
    Params p;
    p.loadGlobal ();
    Algo a;
    Result r = a.run (p);

    // At this point, save Result and Params into a specific directory
    // Is there a way to do:
    p.saveToIni ("myparams.ini"); // <-- WRONG
}

Una soluzione sarebbe quella di aggiungere un file saveTo (QSetting & s) metodo nel Params classe:

class Params
{
    void saveTo (QSettings & s)
    {
        s.setValue (...);
    }
};

int main (...)
{
    Params p;
    p.loadGlobal ();
    QSettings bak ("myparams.ini", ...);
    p.saveTo (bak);
}

Ma sto cercando una soluzione senza modificare il Params classe.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top