我有一个简单的QlistWidget,我在一个调用中使用以下代码加载图像:
ui.listWidgetImages->setIconSize(QSize(60, 60));
QStringList::const_iterator i = filenames.constBegin(); // QStringList that holds the images paths
while (i != filenames.constEnd()) {
QString value = *i;
QListWidgetItem *standardItemnew = new QListWidgetItem(value, ui.listWidgetImages);
standardItemnew->setIcon(QIcon(value));
++i;
}
我想慢速是将图像缩小到60/60尺寸的结果,但有没有办法加快这个过程?
答案 0 :(得分:0)
最快的解决方案是预先生成缩略图或使用已嵌入图像的缩略图。
如果这不可行,您唯一的选择可能是我们Qt multithreading。这有两个方面。首先,可以将填充列表的整个任务放入单独的线程中,以便应用程序在此过程中不会锁定。更加雄心勃勃的是,如果用户拥有多核系统,您可以考虑在单独的线程中加载和缩放每个图像。