Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] Как использовать ветвь QTreeWidget целиком? 
:(
    Опции темы
popovda
Дата 11.5.2009, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: нет
Всего: 6



Доброго времени!  У меня программа, которая многократно использует результаты с предыдущей итерации. Пользователю данные должны быть представлены в виде бинарного дерева (точнее списка бинарных деревьев). То есть:

На первой итерации есть только одна главная ветвь:
X[1]
X[2]
X[3]
.
.
.
X[n]

Допустим, отобраны для второй итерации X с номерами 1, 3, 7, 8 - по ним можно построить новые данные по принципу:

z[1;1] = f(X[1],X[3])
z[1;2] = f(X[1],X[7])
z[1;3] = f(X[1],X[8])
z[1;4] = f(X[3],X[7])
z[1;5] = f(X[3],X[8])
z[1;6] = f(X[7],X[8]),
чему соответствует дерево:

|-z[1;1]
|   | 
|   +X[1]
|   +X[3]
|
|-z[1;2]
|    |
|   +X[1]
|   +X[7]
|
.
.
.
|-z[1;6]
     |
    +X[7]
    +X[8]

Чтобы сохранить данные с предыдущей итерации я использую takeTopLevelItem, но, к сожалению, когда я пытаюсь на базе этих данных построить новое дерево, то строится только предпоследняя итерация, а не вся ветвь, например, для второй итерации элемент дерева выглядит так:

|-Z[2;1]
    +Z[1;1]
    +Z[1;2]

А должен выглядеть так:
|-Z[2;1]
|   +Z[1;1]
|    |  | 
|    |  +X[1]
|    |  +X[3]
|    |
|    +Z[1;2]
         | 
         +X[1]
         +X[7]

И так далее. Ведь наверняка в QT есть способ сохранить всю ветвь ранее построенного дерева целиком. Подскажите, лучше примерчикомsmile


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
SABROG
Дата 11.5.2009, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(popovda @  11.5.2009,  16:00 Найти цитируемый пост)
Ведь наверняка в QT есть способ сохранить всю ветвь ранее построенного дерева целиком. Подскажите, лучше примерчикомsmile 

Нет такого метода.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
popovda
Дата 12.5.2009, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: нет
Всего: 6



Не совсем так: метод clone() как раз подходит.


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
SABROG
Дата 12.5.2009, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(popovda @ 12.5.2009,  10:52)
Не совсем так: метод clone() как раз подходит.

Я думал ты про сохранение и загрузку данных из файла.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0580 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.