将 sqlite 数据库中的图像显示到 QTableView 中的列

Display images from sqlite database to a column in QTableView

我遇到了一个问题,即在 SQLite 数据库的照片列的每一行中显示图像

这是我的代码,在此先感谢:

admin.cpp

void Admin::on_pushButton_2_clicked()
{
    ui->stackedWidget->setCurrentIndex(2);
    QSqlQueryModel *modal = new QSqlQueryModel();
    this->model = new QSqlQueryModel();
    model->setQuery("select * from professeur");
      // qDebug()<<model->lastError();
        ui->tableView_prof->setModel(model);
}

我解决了我的问题这里是代码

QVariant imageshow::data(const QModelIndex &item, int role) const
{
// Column for image
if (item.column() == 0)
{
    // avoid showing image as text
    if (role == Qt::DisplayRole || role == Qt::EditRole)
        return QVariant();
    //show the qpixmap in the column
    if (role == Qt::DecorationRole)
    {
        QVariant variant(QSqlQueryModel::data(item, Qt::DisplayRole));
        QByteArray bytes(variant.toByteArray());
        QPixmap pixmap;
        pixmap.loadFromData(bytes, "png");
        return pixmap;
    }
}
return QSqlQueryModel::data(item, role);
}