Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
Алексей1153 |
20.8.2010, 11:08
Сообщение
#11
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
karpoffhome, нету такой возможности - примени другой контейнер ) Например, вектор или список
|
|
|
|
|
DEADHUNT |
20.8.2010, 11:16
Сообщение
#12
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2
|
Цитата(Алексей1153 @ 20.8.2010, 12:08) Link karpoffhome, нету такой возможности - примени другой контейнер ) Например, вектор или список в stl для этого можно 3 параметр шаблона поменять, можно использовать std::unordered_map/boost::unordered_map, в Qt для этого для ключа нужно переопределить operator < Сообщение отредактировал DEADHUNT - 20.8.2010, 11:17 |
|
|
|
|
Алексей1153 |
20.8.2010, 11:18
Сообщение
#13
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2946 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34
|
DEADHUNT, если сортировать не надо, то зачем хранить как дерево - пущай вектор будет.
|
|
|
|
|
Litkevich Yuriy |
20.8.2010, 11:33
Сообщение
#14
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(karpoffhome @ 20.8.2010, 15:06) Link подскажите, а есть ли возможность отключить автоматическую сортировку по ключу в QMap нет. Но вместо него можно использовать хэш (QHash), он хранит в том порядке, в котором добавляли
|
|
|
|
|
DEADHUNT |
20.8.2010, 11:39
Сообщение
#15
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2
|
Цитата(Litkevich Yuriy @ 20.8.2010, 12:33) Link нет. Но вместо него можно использовать хэш (QHash), он хранит в том порядке, в котором добавляли QHash is unordered, so an iterator's sequence cannot be assumed to be predictable. If ordering by key is required, use a QMap. хэш таблица не сохраняет порядок. |
|
|
|
|
karpoffhome |
24.8.2010, 16:10
Сообщение
#16
|
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 18.8.2010 Пользователь №: 1972 Спасибо сказали: 0 раз(а) Репутация: 0
|
решил проблему следующим образом:
CODE QStandardItemModel * paramList; int iRow = 0; QStandardItem * rootItem = paramList->invisibleRootItem(); QMap<QString,QMap<QString,int>*>::const_iterator i; for (i = mapParamList->constBegin();i != mapParamList->constEnd();++i) { int jRow = 0; QStandardItem * paramItem = new QStandardItem(mapParamName->value(i.key())); QMap<QString,int>::const_iterator j; for (j = mapParamList->value(i.key())->constBegin();j != mapParamList->value(i.key())->constEnd();++j) { QStandardItem * keyItem = new QStandardItem(j.key()); QStandardItem * valueItem = new QStandardItem(QString().setNum(j.value())); paramItem->setChild(jRow,0,keyItem); paramItem->setChild(jRow,1,valueItem); jRow++; } rootItem->setChild(iRow,0,paramItem); iRow++; } теперь возник следующий вопрос, возможно ли сделать так чтобы все отображалось в развернутом дереве, а то все свернутое и жутко не удобное. |
|
|
|
|
igor_bogomolov |
24.8.2010, 16:24
Сообщение
#17
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29
|
void QTreeView::expandAll () [slot]
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 24.12.2025, 15:58 |