Russian Qt Forum
Ноябрь 22, 2024, 21:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Список  (Прочитано 6394 раз)
¤Se®ega¤
Гость
« : Июнь 08, 2009, 18:31 »

Есть несколько десятком элементов класса QCheckBox. Необходимо записывать их состояния и затем считывать.
Подскажите как записать номера выбранных элементов в список, например следующим образом:
<flags>0,2,5,9,11,13</flags> и затем считать его.
Уж очень не хочется создавать грамосткую структуру типа :
<flags_0>1</flags_0>
<flags_2>1</flags_2>
<flags_5>1</flags_5>
<flags_9>1</flags_9>
<flags_11>1</flags_11>
<flags_13>1</flags_13>

Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Июнь 08, 2009, 18:55 »

ну громоздкого в ней ничего нет.
Но в XML'никах обычно и не так делают.
<flags id="0">1</flags>
и т.д.
Записан

Юра.
¤Se®ega¤
Гость
« Ответ #2 : Июнь 08, 2009, 19:03 »

ну а если таких чекбоксов 100-200, куда проще было бы записывать номера, ну на нет и суда нет.Спасибо.
Записан
spirit
Гость
« Ответ #3 : Июнь 08, 2009, 19:14 »

сохраняй список через QSettings.
Записан
¤Se®ega¤
Гость
« Ответ #4 : Июнь 08, 2009, 19:34 »

QSettings может сохранять в XML формат?
Подумал и решил не напрягаться, а сохранять те же номера, но еще короче,примерно так:
<flags id="0" />
<flags id="2" />
« Последнее редактирование: Июнь 08, 2009, 19:41 от ¤Se®ega¤ » Записан
spirit
Гость
« Ответ #5 : Июнь 08, 2009, 19:38 »

нет, если тебе нужно сохранять прямо таки в xml,
то тоже не вижу проблемы: натолкал данные в QStringList, потом сделал
списку QStringList::join задав нужный сепаратор и сохранил строку в xml.
при считывании делаешь QString::split, опять таки указав сепаратор.
EDIT: просто QSettings::setValue принимает QVariant и вышеописанные действия будут делаться автоматически.
« Последнее редактирование: Июнь 08, 2009, 19:41 от spirit » Записан
Rcus
Гость
« Ответ #6 : Июнь 08, 2009, 19:42 »

QSettings может сохранять в XML формат?
Только если его об этом попросить при помощи QSettings::registerFormat.
Еще можно сохранять битовым массивом, только вот зачем превращать XML в еще один нечитаемый бинарный формат?
Записан
spirit
Гость
« Ответ #7 : Июнь 08, 2009, 19:45 »

QSettings может сохранять в XML формат?
Только если его об этом попросить при помощи QSettings::registerFormat.
Еще можно сохранять битовым массивом, только вот зачем превращать XML в еще один нечитаемый бинарный формат?
мда, забыл я про эту возвожность.
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #8 : Июль 15, 2009, 03:13 »

Цитировать
QSettings может сохранять в XML формат?

Может http://www.prog.org.ru/index.php?topic=8154.msg58105#msg58105

Там я выкладывал свою реализацию адаптации QSettings к Xml - вроде поддерживает все что может QSettings в том числе вложенные массивы.

Кроме того я вообще не понял сложности вашей задачи...
Ну создать такую строку вообще не проблема -
Цитировать
0,2,5,9,11,13
то есть набор значений разделенных запятыми - простой цикл
Писать действительно как вам предложили в Xml как QString в текстовую ноду или в аттрибут
Читать как текстовую ноду или строковый аттрибут - и потом применять метод split к прочитанному QString - получите назад свои номерки...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 23.