Делаю свою модель дерева. И не могу понять почему при щелчке мышью на корневых элементах, выделяется вся строка. А на дочерних не выделяется последний столбец.
Вот картинки
Щелчёк по первому столбцу:
Qt::ItemFlags EntityModel::flags(const QModelIndex &index) const
{
icnt++;
qDebug() << indent() << "EntityModel::flags(index =" << index
<< "[ Object =" << idx(index)
<< "])";
Qt::ItemFlags result;
if (!index.isValid()){
result = 0;
qDebug() << indent() << "EntityModel::flags =" << result;
icnt--;
return result;
}
result = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
qDebug() << indent() << "EntityModel::flags =" << result;
icnt--;
return result;
}
QAbstractItemView::SelectionBehavior посмотри.
я уже откопал проблему. Резюме:
ни в коем случае не смотрите пример Simple Tree Model, он не правильный.
Лучше смотреть пример http://doc.crossplatform.ru/qt/4.5.0/itemviews-editabletreemodel.html, хотя и он оставляет желать лучшего.
проблема была в функции columnCount, нужно всегда возвращать кол-во столбцов, как и в заголовке, иначе возникают разные чудеса
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)