На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
Дорогие девчонки! Поздравляем вас с праздником 8 Марта!
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: Majestio
  
> Определение значения ключей (состояние чекбоксов) из файла настроек
    Здравствуйте!
    Сохраняю состояние чекбоксов из групбокса:
    ExpandedWrap disabled
      void Dialog::SaveSettings()
      {
       
        QSettings settings(fileForSave, QSettings::IniFormat);
        if(QFileInfo::exists(fileForSave))
        {
          QFile file(fileForSave);
          file.remove();
        }
        settings.beginGroup("SelectedChannels");
        for(const auto &i:Checks)
          settings.setValue( i->text(), i->isChecked());
        settings.endGroup();
    А вот считать значения ключей и установить чекбоксы в правильное состояние не получается:
    ExpandedWrap disabled
      void Dialog::LoadSettings()
      {
        QSettings settings(fileForSave, QSettings::IniFormat);
        settings.beginGroup("SelectedChannels");
        QStringList lstChannels = settings.childKeys();
        foreach (const QString &str, lstChannels)
        {
          int i = str.toInt() - 1;
          Checks[i]->setCheckState(settings.value(str)); // Ошибка
        }
        settings.endGroup();
      }
    Помогите, пожалуйста.Проект прикрепил.
    Прикреплённый файлПрикреплённый файлqtTestLayout.zip (3,33 Кбайт, скачиваний: 25)
      Вот так пробуй:

      ExpandedWrap disabled
        void Dialog::LoadSettings()
        {
          QSettings settings(fileForSave, QSettings::IniFormat);
          settings.beginGroup("SelectedChannels");
          QStringList lstChannels = settings.childKeys();
          foreach (const QString &str, lstChannels)
          {
            bool isChecked = settings.value(str, false).toBool();
            Checks[str.toInt() - 1] ->setChecked(isChecked);
          }
          settings.endGroup();
        }
        Спасибо большое! Оказывается, я использовал не ту функцию (метод): надо было использовать setChecked вместо setCheckState
        ExpandedWrap disabled
          Checks[str.toInt() - 1] ->setChecked(settings.value(str).toBool());
          Ага.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0334 ]   [ 18 queries used ]   [ Generated: 13.03.25, 17:15 GMT ]