Цитата(ViGOur @ 31.5.2012, 12:49)
1. не совсем понятно, что нужно сделать
2. примерно так: lId = modelBooks.index( formatIndex .row(), modelBooks.fieldIndex("id")).data().toLongLong();
Может я криво выразился
Есть делегат
void MapperDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
{
QLabelEx *lab = qobject_cast<QLabelEx*>(editor);
QImage img;
QPixmap px;
QSqlQuery query;
if (!lab) {
QItemDelegate::setEditorData(editor, index);
return;
}
switch (index.column()) {
case 7:
img.loadFromData(index.data().toByteArray());
px = QPixmap::fromImage(img);
lab->setPixmap(px.scaled(128, 128, Qt::KeepAspectRatio));
break;
case 12:
query = QSqlQuery(QSqlDatabase::defaultConnection);
query.prepare("SELECT mimetype FROM formats WHERE format=:format");
query.bindValue(":format", index.model()->data(index, Qt::EditRole).toString());
query.exec();
query.next();
img.loadFromData(query.value(0).toByteArray());
px = QPixmap::fromImage(img);
lab->setPixmap(px.scaled(50, 50, Qt::KeepAspectRatio));
break;
default:
QItemDelegate::setEditorData(editor, index);
return;
}
}
Можно ли до поля mimetype дотянуться как-то иначе(не делая запрос)?