| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > пример добавления,удаления узлов в TreeView |
| Автор: becks 21.5.2012, 11:25 |
| Добрый день, коллеги, есть задача красиво отображать данные в виде дерева (если конкретно, то у каждого узла должна быть иконка и текст). Так же необходимо иметь возможность добавлять узлы на всех уровнях дерева, удалять узлы (и если это не лист, то удаляется вся ветка, находящаяся ниже узла), редактировать узлы (менять текст узла и может быть иконку). В принципе все. 1) Подскажите, подойдет ли мне QTreeWidget или все же тут надо свою модель описывать и использовать QTreeView? 2) Хотелось бы увидеть простой примерчик подобной задачи (QTreeView + QStandardItemModel) , что-то нигде ничего подобного не нашел. Буду очень благодарен. Спасибо. |
| Автор: math64 22.5.2012, 07:10 |
| Если дерево большое - лучше написать свою модель, стандартная будет работать медленно. При использовании QTreeWidget в дизайнере его можно заполнить содержимым (в том числе иконки, всплывающие подсказки и т.п.). Посмотрев на сгенерерованный uic код, можно увидеть, как добавлять новые узлы. |
| Автор: borisbn 22.5.2012, 08:39 | ||
ну... можно и я проголосую за вью и модель, вместо стандартного виджета ? becks, даже если сейчас тебя удовлетворяет виджет, то завтра (поверь опыту) тебе потребуется что-то такое, что гораздо удобнее сделать через модель (например, подкрасить фон для строк, удовлетворяющих какому-либо условию - отрицательный баланс или ещё что-то в этом роде) |
| Автор: becks 22.5.2012, 11:36 | ||
| Всем большое спасибо за помощь! Так и поступлю вью + модель, тем более за вчерашний день немного знания прокачал. Подскажите еще по такому вопросу. В зависимости от значения QComboBox создавать в QGroupBox динамически некоторые виджеты (QLineEdit, QLabel). Добавляю их в layot, у QGroupBox устанавливаю этот layot.
Как при изменении значения QComboBox грамотно почистить layot у QGroupBox. Спасибо. |
| Автор: borisbn 22.5.2012, 11:42 |
| becks, нечестно так поступать с теми, кто в дальнейшем будет искать про layout'ы и удаление из них widget'ов: найдя эту тему, они увидят, что тема про model/view и пойдут дальше. Намёк понял в правилах форума не зря сказано: один вопрос - одна тема |
| Автор: becks 22.5.2012, 12:00 | ||
Намек понят ) Тема создана, кидаю ссылку для тех кто сюда заскочит. http://forum.vingrad.ru/forum/act-ST/f-466/t-352237/unread-1.html borisbn прошу в по новой теме подсказать!) |