Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Модель/Представление _ TreeView+ItemModel изменение многих элементов

Автор: Sokoloff 17.7.2009, 16:46

Есть QTreeView и QAbstractItemModel. Необходимо сделать такую штуку, человек выделяет несколько строк в дереве (дерево выглядит как таблица), нажимает F2, открывается редактор в текущей строке он меняет значение, нажимает Enter, и для всех выделенных елементов устанавливется новое значение. Никак не придумаю как сделать такое. Не пойму в каком классе мне это обрабатывать.

Из ItemModel и из ItemDelegate я не могу получить selectionModel. А в QTreeView есть selectionModel, но как в нем определить момент изменения данных?

Или я чего не понимаю?

Автор: Litkevich Yuriy 17.7.2009, 17:05

Цитата(Sokoloff @ 17.7.2009, 20:46) *
о как в нем определить момент изменения данных?
а в нём и не надо, в родительском классе (в котором создаётся объект представления) работай с моделью выделения и с сигналом модели данных:
http://doc.crossplatform.ru/qt/4.4.3/qabstractitemmodel.html#dataChanged
либо с одним из сигналов делегата:
http://doc.crossplatform.ru/qt/4.4.3/qabstractitemdelegate.html#closeEditor
http://doc.crossplatform.ru/qt/4.4.3/qabstractitemdelegate.html#commitData

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)