Russian Qt Forum

Qt => Model-View (MV) => Тема начата: 0xFF от Август 03, 2010, 21:52



Название: [РЕШЕНО] не отображать данные конкретных столбцов
Отправлено: 0xFF от Август 03, 2010, 21:52
Доброго времени суток, есть таблица, в ней при помощи делегатов прикручены столбцы с виджетами. Собственно хотелось бы заставить QTableView не отображать в этих столбцах данные, т.к. в случае с QCheckBox еденичку в ячейке он успешно прикрывает, а вот QPixmap слишком "худой" для этого.


Название: Re: не отображать данные конкретных столбцов
Отправлено: UVV от Август 03, 2010, 21:57
Код:
QVariant model::data (const QModelIndex & index, int role ) const
{
   if (index.column() == needed_column)
      return QVariant();
}


Название: Re: не отображать данные конкретных столбцов
Отправлено: 0xFF от Август 03, 2010, 23:19
Хотел так сделать, но значение из модели все же нужно. Без него никак не повлияешь на ячейку. Как пример, если такую штуку сделать на столбец чекбоксов то их состояние не сохраняется(


Название: Re: не отображать данные конкретных столбцов
Отправлено: crossly от Август 04, 2010, 08:51
спрятать только для DisplayRole...


Название: Re: не отображать данные конкретных столбцов
Отправлено: 0xFF от Август 04, 2010, 11:52
спасибо, разобрался)


Название: Re: [РЕШЕНО] не отображать данные конкретных столбцов
Отправлено: kalif от Октябрь 03, 2010, 12:02
Опишите пожалуйста решение проблемы с помощью DisplayRole.


Название: Re: [РЕШЕНО] не отображать данные конкретных столбцов
Отправлено: crossly от Октябрь 03, 2010, 13:02
Код:
QVariant model::data (const QModelIndex & index, int role ) const
{
   if (index.column() == needed_column && role==Qt::DisplayRole)
      return QVariant();
}