我有一个带有自定义小部件的 QHBox,它继承了 QLabel,它遍历目录中的所有图像文件并生成缩略图。
这部分工作正常,但是我需要实现显示原始图像的功能,在中央 QLabel 小部件中生成缩略图以显示图片。
这样做的最佳方法是什么?现在 clicked() 信号只显示来自 QLabel(thumbnail) 的 QPixmap,我需要它做的是将原始全尺寸图像加载到位于中心的 QLabel 上。
我猜我需要某种列表来识别每个缩略图及其独特的全尺寸图像,但我不确定如何实现这样的事情。
请告诉我我是否应该着手实施这个,因为我觉得我对该怎么做有点迷茫。
我的代码现在看起来像这样:
QList<ImageLabel *> labels;
int imagenum = 0;
foreach(const QString &path, files) {
QPixmap px(path);
labels.append(new ImageLabel);
labels[imagenum]->setPixmap(px.scaledToHeight(90));
qhbox->addWidget(labels[imagenum]);
connect(labels[imagenum], SIGNAL(clicked(const QPixmap&)), this, SLOT(setImage(const QPixmap &)));
imagenum++;
}
预先感谢您的帮助。