
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.146.206.106] |
![]() |
|
![]() |
|
|
Здравствуйте!
Сохраняю состояние чекбоксов из групбокса: ![]() ![]() 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(); ![]() ![]() 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(); } Прикреплённый файл ![]() |
Сообщ.
#2
,
|
|
|
Вот так пробуй:
![]() ![]() 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(); } |
Сообщ.
#3
,
|
|
|
Спасибо большое! Оказывается, я использовал не ту функцию (метод): надо было использовать setChecked вместо setCheckState
![]() ![]() Checks[str.toInt() - 1] ->setChecked(settings.value(str).toBool()); |
Сообщ.
#4
,
|
|
|
Ага.
|