Спасибо.
Столкнулся с таким вопросом.
Вот код:
C++ (Qt)
QWidget *objPropertyValueDelegate::createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index ) const
{
int flag = index.model()->data( index, Qt::UserRole ).toInt();
int row = index.row();
int col = index.column() - 1;
const QAbstractItemModel *model = index.model();
QString str;
QModelIndex ind = model->index(row, col);
str = model->data(ind, Qt::DisplayRole).toString();
QLineEdit *editor = 0;
if ( !flag )
{
editor = new QLineEdit(parent);
editor->setFrame( false );
}
return editor;
}
Если вызывать делегат для дочерний элементов, то
str в итоге будут присвоены данные из родительских элементов.
Как указать, что смотреть нужно в дочерние элементы?
Делал так:
C++ (Qt)
QModelIndex ind = model->index(row, col, index);
Но результат тот же.
~Пофиксил
QModelIndex QModelIndex::parent () const