QMAP, не помещаются элементы |
Здравствуйте, гость ( Вход | Регистрация )
QMAP, не помещаются элементы |
losev |
6.1.2008, 12:26
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 15.12.2007 Пользователь №: 47 Спасибо сказали: 0 раз(а) Репутация: 0 |
у меня такая проблема, елементы не помешаются в QMAP хотя они есть:
суть такая есть поле (QGraphicsScene) на нем изображаются элементы (подразумевается графическое представление коммутаторов) между собой они соединены линиями, так вот всю эту карту нужно сохранять в файл, с коммутаторами проблем не было а вот со стрелочками возникли. Каждый коммутатор на карте имеет свой уникальный ID, стрелочки строятся по такому алгоритму startId и до endId те в цифровом эквиваленте грубо говоря координаты стрелок к примеру 1-2 1-4 1-5 2-5 те стрелка ведется от коммуттора с ИД равным 1 и к 2 и тд в QMap я сохраняю сответсвенно эти идентификаторы QMap <ИД_начального_коммутатора,ИД_конечного_коммутатора>, так вот при обходе цикла foreach по всем элементам поля идентификаторы выдаются как надо но почему то в QMAP они все не сохроняются вот данные из консоли: -------------------------------------------------------- ARROW LIST обход цикла foreach для поиска идентификаторов стрелок 1 - 2 1 - 3 1 - 4 2 - 4 4 - 3 key=1 value=4 key=2 value=4 key=4 value=3 те мы видим количество стрелок 5 при обходе foreach а в QMAP их всего 3 записи ! или я не понимаю логику работы QMAP или какая то магическая ошибка ))) ---------------------------------------------------------
..........................................
Сообщение отредактировал Сафи - 6.1.2008, 12:43
Причина редактирования: добавлен тэг [code]
|
|
|
ViGOur |
6.1.2008, 12:34
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Мне кажется что ошибка нет, ты же сам указал:
Значит из 5 элементов имеют тип Arrow::Type только 3. p.s. пользуйся тэгом коде, код читабельней будет |
|
|
losev |
6.1.2008, 12:41
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 15.12.2007 Пользователь №: 47 Спасибо сказали: 0 раз(а) Репутация: 0 |
cout выводит идентификаторы в условии !!! но теорию с ошибочными типами сейчас проверю Сообщение отредактировал losev - 6.1.2008, 12:44 |
|
|
ViGOur |
6.1.2008, 12:45
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Вижу, в тэге code вижу...
И правда странно... |
|
|
ViGOur |
6.1.2008, 12:50
Сообщение
#5
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Насчет странности беру свои слова обратно...
Вот описание функции QMap::insert: Цитата iterator QMap::insert ( const Key & key, const T & value ) тоесть, существующие значение просто напросто меняется, а не добавляется, ключ должен быть вроде как уникальным значенияем! Inserts a new item with the key key and a value of value. If there is already an item with the key key, that item's value is replaced with value. If there are multiple items with the key key, the most recently inserted item's value is replaced with value. Используй insertMulti Сообщение отредактировал ViGOur - 6.1.2008, 12:52 |
|
|
losev |
6.1.2008, 12:59
Сообщение
#6
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 15.12.2007 Пользователь №: 47 Спасибо сказали: 0 раз(а) Репутация: 0 |
1 - 2
1 - 3 1 - 4 2 - 4 4 - 3 key=1 value=4 key=1 value=3 key=1 value=2 key=2 value=4 key=4 value=3 все заработало , спасибо, без тебя еще фиг знает сколько бы секасом занимался ! p/s/ спрашивается нафиг я в школе французский учил !!! |
|
|
ViGOur |
6.1.2008, 13:04
Сообщение
#7
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
Текстовая версия | Сейчас: 20.12.2024, 22:05 |