将 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);
}
我遇到了一个问题,即在 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);
}