Название: QSortFilterProxyModel QTreeView и добавление дочерних элементов Отправлено: zdarovo от Февраль 15, 2010, 19:44 Есть кастомный виджет типа QTreeView. В качестве основной модели задаю родную QSortFilterProxyModel модель, а также кастомная модель QAbstractItemModel.
Добавляю корневые элементы таким образом Код: beginInsertRows(QModelIndex(),getRowsCount(), getRowsCount()); Все замечательно, так как для у них отсутствует родительский индекс и его достаточно обозначить как QModelIndex(). К слову говоря отладчик показал, что обработкой beginInsertRow занимается именно модель QSortFilterProxyModel. Затем я хочу добавеить каждому элементу несколько дочерних таким же образом, но тут возникает вопрос, а каким же образом задавать родительский индекс. Если я его задам как createIndex(row,0,&block), то результата не никакого. Модель видимо просто не понимает такой индекс. Если я его задаю как sortModel->index(row,0,QModelIndex()), все проходит замечательно но выдает ругательства в виде "QSortFilterProxyModel: index from wrong model passed to mapFromSource". Т.е. он не может привести индекс к своему виду, так как он уже к нему приведен. Собсно, вопрос. А как же задавать в такой ситуации индексы? emit layoutChanged() не предлагать. Спасибо. |