Russian Qt Forum

Qt => Model-View (MV) => Тема начата: shirushizo от Октябрь 12, 2010, 09:01



Название: Модель с QPixmap для QTableView и QListView
Отправлено: shirushizo от Октябрь 12, 2010, 09:01
Необходимо создать модель, хранящую записи из БД и QPixmap из BLOB. Соответствено весь текст выводится в  QTableView, а содержимое BLOB - в QListView.
Сделал наследника QSqlQueryModel, написал функцию, которая по SQL-запросу заполняет QList<Pixmap> pixList. и вызывает QSqlQueryModel;;setQuery().
Переопределил QSqlQueryModel::data(const QModelIndex &item, int role)
Код:
{
     if(item.column()==0 && role==Qt::DecorationRole)
          return pixList.at(item.row());
     else
          return QSqlQueryModel::data(item,role);
}

Собстно, при вызове с role==Qt::DecorationRole, прога вылетает и предлагает пожаловаться поработителям.
ПО: Qt SDK 2010.05 (Qt 4.7.0/mingw/Windows 7)

Ткните носом, пожалуйста!


Название: Re: Модель с QPixmap для QTableView и QListView
Отправлено: crossly от Октябрь 12, 2010, 11:44
а какой смысл в QList<Pixmap> pixList??


Название: Re: Модель с QPixmap для QTableView и QListView
Отправлено: shirushizo от Октябрь 12, 2010, 14:22
Я туда из BLOD  данные загоняю, можно конечно сделать еще поле сделать, но как его тогда спрятать от QTableView?
так?
int columnCount(QModelIndex& parent)
{
     return 8;//на 1 меньше настоящего
}
Но собстно вопрос не в том как хранить, а как выводить картинки в лист, а все остальное в тайбл. Но у меня идеи кончились :(


Название: Re: Модель с QPixmap для QTableView и QListView
Отправлено: crossly от Октябрь 13, 2010, 15:20
setColumnHidden();

в Qt::DecorationRole делать pixmap из блоба и возвращать...

к listview прицепить туже модель... и указать в качестве колонки для отображения колонку с болбом


Название: Re: Модель с QPixmap для QTableView и QListView
Отправлено: shirushizo от Октябрь 13, 2010, 16:24
А слона как говориться я и не приметил :) Проглядел метод, спасибо.