crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в не сохраняются настройки приложения
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
trdm Дата 24.7.2008, 10:51
 
/// Сохраяняем текущую строку базы данных
void uoStartupDlgImpl::curentDBSettingSave()
{
    QTreeWidgetItem* curItem = treeWidget->currentItem();
    if (curItem == NULL || curItem == dbAdmin || curItem == dbUser)
        return;
    QString curDbName = curItem->text(0);
    QString curDbPath = curItem->text(1);

    _settinds->setValue(iniParam_CurentDBName,curDbName);
    _settinds->setValue(iniParam_CurentDBPath,curDbPath);
}

если в curDbName были ковычки, значение не сохранялось.
void* Дата 23.7.2008, 18:00
  trdm, а поконкретнее? может быть ты их не экранировал?
trdm Дата 23.7.2008, 17:27
  у меня проблема была на 434. сеттингс плохо работает с ковычками..
void* Дата 23.7.2008, 13:27
  кстати забыл сказать, проблема решена перенесением вызова функции writeSettings() из деструктора в обработчик closeEvent()
flankerr Дата 23.7.2008, 13:11
  лично я выше описанное делаю "ручками" так оно надёжнее :rolleyes:
Без всяких там реестров.
Litkevich Yuriy Дата 21.7.2008, 20:35
  так, а в файл/реестр что-нибудь пишется при сохранении настроек?
void* Дата 21.7.2008, 20:26
  и в никсах и в винде одинаково не работает :(
для никсов QSettings::NativeFormat - INI-файлы, для винды - реестр
Litkevich Yuriy Дата 21.7.2008, 19:57
  а ось которая? что для нее естественный формат?
void* Дата 21.7.2008, 19:31
  собственно сабж. раньше как-то пробовал использовать 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();
}

но все это почему-то не работает :( все время используются значения по умолчанию...
подскажите пожалуйста в чем проблема
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 14:13