为什么使用以下代码我只会得到一个空的表格小部件?
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/