Мне необходимо поменять редактор для определенных элементов в TreeView. Понаследовался от QStyledItemDelegate, не переопределяя метод paint(). Установил делегат для TreeView. Перестали отображаться данные модели. Смотрю отладчиком - в модели данные есть. Переопределил метод paint() в делегате.
void PlaceChooseDelegate::paint(QPainter *painter,
const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
QStyledItemDelegate::paint(painter,option,index);
}
Уже разобрался. Делегат создавался в конструкторе формы на стеке. При выходе из функции он, разумеется, разрушался. Создал объект в куче - и проблема ушла. В общем, нужно больше спать. Спасибо за помощь.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)