QSettings
Qt:ssa on valmiina luokka QSettings mitä on kätevä käyttää asetusten tallentamiseen .ini tiedostoon. Tämä on kätevämpi arvojen tallennukseen kuin esim. sqldb, kun arvoja on vähän esim alle 100. Jos halutaan tallentaa todella paljon enemmän dataa/arvoja, niin siinä tapauksessa sqldb on parempi vaihtoehto.
Sql-esimerkki.
// annetaan tiedoston sijainti mihin tallennetaan, sekä formaatti IniFormat QSettings settings("/home/user/myapp.ini", QSettings::IniFormat); // asetaan nopeudelle arvoksi 68 settings.setValue("nopeus", 68); // haetaan nopeuden arvo ja muutetaan se numeroarvoksi int nopeus = settings.value("nopeus").toInt();
Arvoja voidaan myös ryhmitellä.
// tällä funktiolla asetetaan asetukset tiedostoon void MainWindow::writeSettings() { QSettings settings("Moose Soft", "Clipper"); // tehdään grouppi MainWindow ja asetetaan sen alle arvoja settings.beginGroup("MainWindow"); settings.setValue("size", size()); settings.setValue("pos", pos()); // täytyy muistaa lopettaa groupin käyttö settings.endGroup(); } // tällä funktiolla luetaan asetukset tiedostosta void MainWindow::readSettings() { QSettings settings("Moose Soft", "Clipper"); // haetaan arvot groupista settings.beginGroup("MainWindow"); resize(settings.value("size", QSize(400, 400)).toSize()); move(settings.value("pos", QPoint(200, 200)).toPoint()); settings.endGroup(); }