Qt - Cannot put an image in a table

不问归期 提交于 2019-11-29 08:24:47

You are doing all almost right, but try to control your img, for example, like this:

QString imgPath = "C:\\path\\to\\image.jpg";
QImage *img = new QImage();
bool loaded = img->load(imgPath);
if (loaded)
{

    QTableWidget     *thumbnailsWidget = new QTableWidget;
    QTableWidgetItem *thumbnail = new QTableWidgetItem;
    thumbnail->setData(Qt::DecorationRole, QPixmap::fromImage(*img));

    thumbnailsWidget->setColumnCount(5);
    thumbnailsWidget->setRowCount(3);
    thumbnailsWidget->setItem(0, 0, thumbnail);

    w.setCentralWidget(thumbnailsWidget);
} else {
    qDebug()<<"Image "<<imgPath<<" was not opened!";
}

Hope, it helps you! Good luck!

OK, I had to rescale the image:

thumbnail->setData(Qt::DecorationRole, QPixmap::fromImage(*img).scaled(100, 100));
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!