image - Qt - 无法将图像放入表格中

标签 image qt qtablewidget qtablewidgetitem

为什么使用以下代码我只会得到一个空的表格小部件?

QString imgPath = "C:\\path\\to\\image.jpg";
QImage *img = new QImage(imgPath);

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);

setCentralWidget(thumbnailsWidget);

如何将图像放入 QTableWidgetItem 中?

谢谢你。

PS:
我注意到 table 并不是真的空的。单击不同的 QTableWidgetItem 元素,空的变为蓝色,坐标为 [0,0] 的元素以不同的方式突出显示:青色,左侧带有细蓝色条...

最佳答案

你做的几乎是正确的,但试着控制你的img ,例如,像这样:

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!";
}
希望,对你有帮助!祝你好运!

关于image - Qt - 无法将图像放入表格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14365875/

相关文章:

javascript - 时间和点击触发图像变化

c++ - Qt:让 parent 决定 child 是否接受事件

Qt - QTableWidget 单元格中的 QIcon

image - 在 uicollectionview 上快速将图像传递给详细 View Controller

javascript - 使用 Canvas 和 JavaScript 进行多边形表示的图像采样算法?

javascript - 布料设计师。层的着色

c++ - 将对象移动到不同的线程

c++ - 如何在 Qt 应用程序中使用 MFC dll

QTableWidget::item() QTableWidget::cellWidget()?

python - 为什么 QTableWidgetItem 不不断更新它的颜色?