Russian Qt Forum
Ноябрь 22, 2024, 21:37
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
XML
>
Список
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Список (Прочитано 6393 раз)
¤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
Сообщений: 3880
Re: Список
«
Ответ #1 :
Июнь 08, 2009, 18:55 »
ну громоздкого в ней ничего нет.
Но в XML'никах обычно и не так делают.
<flags id="0">1</flags>
и т.д.
Записан
Юра.
¤Se®ega¤
Гость
Re: Список
«
Ответ #2 :
Июнь 08, 2009, 19:03 »
ну а если таких чекбоксов 100-200, куда проще было бы записывать номера, ну на нет и суда нет.Спасибо.
Записан
spirit
Гость
Re: Список
«
Ответ #3 :
Июнь 08, 2009, 19:14 »
сохраняй список через
QSettings
.
Записан
¤Se®ega¤
Гость
Re: Список
«
Ответ #4 :
Июнь 08, 2009, 19:34 »
QSettings может сохранять в XML формат?
Подумал и решил не напрягаться, а сохранять те же номера, но еще короче,примерно так:
<flags id="0" />
<flags id="2" />
«
Последнее редактирование: Июнь 08, 2009, 19:41 от ¤Se®ega¤
»
Записан
spirit
Гость
Re: Список
«
Ответ #5 :
Июнь 08, 2009, 19:38 »
нет, если тебе нужно сохранять прямо таки в xml,
то тоже не вижу проблемы: натолкал данные в
QStringList
, потом сделал
списку
QStringList::join
задав нужный сепаратор и сохранил строку в xml.
при считывании делаешь
QString::split
, опять таки указав сепаратор.
EDIT: просто
QSettings::setValue
принимает
QVariant
и вышеописанные действия будут делаться автоматически.
«
Последнее редактирование: Июнь 08, 2009, 19:41 от spirit
»
Записан
Rcus
Гость
Re: Список
«
Ответ #6 :
Июнь 08, 2009, 19:42 »
Цитата: ¤Se®ega¤ от Июнь 08, 2009, 19:34
QSettings может сохранять в XML формат?
Только если его об этом попросить при помощи QSettings::registerFormat.
Еще можно сохранять битовым массивом, только вот зачем превращать XML в еще один нечитаемый бинарный формат?
Записан
spirit
Гость
Re: Список
«
Ответ #7 :
Июнь 08, 2009, 19:45 »
Цитата: Rcus от Июнь 08, 2009, 19:42
Цитата: ¤Se®ega¤ от Июнь 08, 2009, 19:34
QSettings может сохранять в XML формат?
Только если его об этом попросить при помощи QSettings::registerFormat.
Еще можно сохранять битовым массивом, только вот зачем превращать XML в еще один нечитаемый бинарный формат?
мда, забыл я про эту возвожность.
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Список
«
Ответ #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
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...