TreeView+ItemModel изменение многих элементов |
Здравствуйте, гость ( Вход | Регистрация )
TreeView+ItemModel изменение многих элементов |
Sokoloff |
17.7.2009, 16:46
Сообщение
#1
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
Есть QTreeView и QAbstractItemModel. Необходимо сделать такую штуку, человек выделяет несколько строк в дереве (дерево выглядит как таблица), нажимает F2, открывается редактор в текущей строке он меняет значение, нажимает Enter, и для всех выделенных елементов устанавливется новое значение. Никак не придумаю как сделать такое. Не пойму в каком классе мне это обрабатывать.
Из ItemModel и из ItemDelegate я не могу получить selectionModel. А в QTreeView есть selectionModel, но как в нем определить момент изменения данных? Или я чего не понимаю? |
|
|
Litkevich Yuriy |
17.7.2009, 17:05
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
о как в нем определить момент изменения данных? а в нём и не надо, в родительском классе (в котором создаётся объект представления) работай с моделью выделения и с сигналом модели данных:void QAbstractItemModel::dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) [signal] либо с одним из сигналов делегата: void QAbstractItemDelegate::closeEditor ( QWidget * editor, QAbstractItemDelegate::EndEditHint hint = NoHint ) [signal] void QAbstractItemDelegate::commitData ( QWidget * editor ) [signal] |
|
|
Текстовая версия | Сейчас: 28.1.2025, 20:59 |