коим образом QMap<> представить как модель для QTreeView |
Здравствуйте, гость ( Вход | Регистрация )
коим образом QMap<> представить как модель для QTreeView |
karpoffhome |
18.8.2010, 11:48
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 18.8.2010 Пользователь №: 1972 Спасибо сказали: 0 раз(а) Репутация: 0 |
добрый день ...
в общем имею набор данных заключенных в структуре вида QMap<QString,QMap<QString,int>*>. необходимо отразить эти данные в QTreeView. поскольку с Qt сталкиваюсь впервые прошу подсказки какой наиболее предпочтительный способ можно придумать. вид отображения соответственно: |- некий параметр | |- значение - эквивалент | |- значение - эквивалент | `- значение - эквивалент `- и еще параметр |- значение - эквивалент |- значение - эквивалент `- значение - эквивалент сие реально??? |
|
|
Алексей1153 |
18.8.2010, 12:34
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
вообще, класс вида
QMap<parent_id,child_id> как раз и применяется для хранения дерева В твоём случае у тебя всего 2-уровневое дерево |
|
|
karpoffhome |
18.8.2010, 12:57
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 18.8.2010 Пользователь №: 1972 Спасибо сказали: 0 раз(а) Репутация: 0 |
как бы да. но я не соображу как эту структуру данных передать QTreeView
|
|
|
Алексей1153 |
18.8.2010, 13:20
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
её надо не передавать, а прошагать все элементы мапа и добавить их по очереди на свои места в дерево
|
|
|
Litkevich Yuriy |
18.8.2010, 13:40
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Словарь не годится для создания дерева, это я уже прошёл.
Нужно делать класс на подобие того, что описан в примере "Editable Tree Model" (пример "Simple Tree Model" не смотри, он паршивый) т.к. нужно хранить информацию о всех детях, плюс данные, особенно если есть данные для разных ролей. |
|
|
Алексей1153 |
18.8.2010, 13:54
Сообщение
#6
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
У меня есть класс для представления дерева - в нём используется всего один экземпляр std::map<... ,...>
Так что, ещё как годится |
|
|
DIMEDROLL |
18.8.2010, 15:15
Сообщение
#7
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
|
|
|
karpoffhome |
19.8.2010, 10:20
Сообщение
#8
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 18.8.2010 Пользователь №: 1972 Спасибо сказали: 0 раз(а) Репутация: 0 |
как бы да. но я не соображу как эту структуру данных передать QTreeView А зачем тебе QTreeView? Возможно подойдет QTreeWidget? в него легко передать твою структуру данных в классах пока не особо хорошо разбираюсь пытаюсь сделать следующую штуку: описанная структура содержит данные, которые редактируются, удаляются, добавляются. параметры не меняются, модифицируются лишь связки "значение - эквивалент". хотелось бы найти самый оптимальный по трудозатратам и результатам путь (класс |
|
|
DIMEDROLL |
19.8.2010, 10:44
Сообщение
#9
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
ну тогда прийдется вникать в Model/View Programming,
самым простым вариантом, имхо, является использование связки QStandardItemModel\QTreeView, наследоваться от QTreeView и реализовать добавление, удаление, редактирование. Смотри в ассистанте доку по QStandardItemModel: Цитата An example usage of QStandardItemModel to create a tree:
|
|
|
karpoffhome |
20.8.2010, 11:06
Сообщение
#10
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 18.8.2010 Пользователь №: 1972 Спасибо сказали: 0 раз(а) Репутация: 0 |
подскажите, а есть ли возможность отключить автоматическую сортировку по ключу в QMap
|
|
|
Текстовая версия | Сейчас: 1.12.2024, 11:59 |