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.
Code Block |
---|
|
// 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ä.
Code Block |
---|
|
// 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();
} |