собственно сабж. раньше как-то пробовал использовать QSettings, все нормально работало, а вот сейчас почему-то не работает. В классе главного окна объявлено:
| Код | private: QSettings settings;
|
Затем в конструкторе инициализируется:
| Код | MainWindow::MainWindow() : ..., settings(QSettings::NativeFormat, QSettings::UserScope, QString("ProgStudio"), progname) { //progname - это QString с названием программы //... }
|
Также есть две функции:
| Код | void MainWindow::writeSettings() { settings.beginGroup("/MainWindow"); settings.setValue("/pos", this->pos()); settings.setValue("/size", this->size()); settings.setValue("/splitter", splitter->saveState()); //... settings.endGroup(); //... } void MainWindow::readSettings() { settings.beginGroup("/MainWindow");
QPoint point = settings.value("/pos", QPoint(0, 0)).toPoint(); if((point.x() > 0 && point.x() < 1024) && (point.y() > 0 && point.y() < 768)) move(point);
QSize size = settings.value("/size", QSize(800, 550)).toSize(); if((size.width() > 0 && size.width() < 1024) && (size.height() > 0 && size.height() < 768)) resize(size);
splitter->restoreState(settings.value("/splitter").toByteArray()); //... settings.endGroup(); //... }
|
readSettings() используется в конструкторе, а writeSettings() в деструкторе:
| Код | MainWindow::~MainWindow() { writeSettings(); }
|
но все это почему-то не работает :( все время используются значения по умолчанию... подскажите пожалуйста в чем проблема |