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:n käytöstä 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();
 }
  • No labels
You must log in to comment.