Ok, sorry, I don't have a clue. The code seems right. The only thing I can guess is that fcd->getThumpnails() is still returning the old pictures. You want run following simple extension-debug-variant of your function:
void ViewerMainWindow::fillThumbnails() {
if (FrameTile::activeFrameTile != 0) {
FrameTile* frameTile = FrameTile::activeFrameTile;
dicom::ImageIODFacade * fcd = frameTile->getImgFcd();
if (fcd != 0) {
QList<QObject*> objlist = m_thumbnailsWidgetHLayout->children();
qWarning() << "Object count" << objlist.count(); //DEBUG
for (int i = 0; i < objlist.count(); i++) {
ThumbnailWidget* thumb = (ThumbnailWidget*) objlist.at(i);
m_thumbnailsWidgetHLayout->removeWidget(thumb);
delete thumb;
}
qWarning() << "Object count (after)" << m_thumbnailsWidgetHLayout->children().count(); //DEBUG
QMap<size_t, QPixmap> map = fcd->getThumpnails();
foreach(size_t key, map.keys()) {
qWarning() << "add" << key; //DEBUG
ThumbnailWidget* thumb = new ThumbnailWidget;
QPixmap scaled
= pixmap.
scaled(ThumbnailWidget
::THUMBNAIL_SIZE,
ThumbnailWidget::THUMBNAIL_SIZE,
Qt::KeepAspectRatioByExpanding,
Qt::FastTransformation);
thumb->setPixmap(scaled);
thumb->setThumbnailIndex(key);
m_thumbnailsWidgetHLayout->addWidget(thumb);
}
}
}
}
void ViewerMainWindow::fillThumbnails() {
if (FrameTile::activeFrameTile != 0) {
FrameTile* frameTile = FrameTile::activeFrameTile;
dicom::ImageIODFacade * fcd = frameTile->getImgFcd();
if (fcd != 0) {
QList<QObject*> objlist = m_thumbnailsWidgetHLayout->children();
qWarning() << "Object count" << objlist.count(); //DEBUG
for (int i = 0; i < objlist.count(); i++) {
ThumbnailWidget* thumb = (ThumbnailWidget*) objlist.at(i);
m_thumbnailsWidgetHLayout->removeWidget(thumb);
delete thumb;
}
qWarning() << "Object count (after)" << m_thumbnailsWidgetHLayout->children().count(); //DEBUG
QMap<size_t, QPixmap> map = fcd->getThumpnails();
foreach(size_t key, map.keys()) {
qWarning() << "add" << key; //DEBUG
QPixmap pixmap = map.value(key);
ThumbnailWidget* thumb = new ThumbnailWidget;
QPixmap scaled = pixmap.scaled(ThumbnailWidget::THUMBNAIL_SIZE,
ThumbnailWidget::THUMBNAIL_SIZE,
Qt::KeepAspectRatioByExpanding,
Qt::FastTransformation);
thumb->setPixmap(scaled);
thumb->setThumbnailIndex(key);
m_thumbnailsWidgetHLayout->addWidget(thumb);
}
}
}
}
To copy to clipboard, switch view to plain text mode
What's the output?
Bookmarks