我需要将大量的 imgs 加载到 QIcons 中(所有工作都由子线程统治)。如果我写:QIcon(filename)
- 它会加载所有文件。并且在加载了 150 或 200 个文件后,没有可用的 RAM。起初我尝试使用 QImage 并对其进行缩放:QImage(fileName).scaled(QSize(w, h))
- 它可以保护大量内存。但问题是在没有QPixmap的情况下将QImage放入QIcon,因为QPixmap不能在主线程之外使用(有时可以使用,但它不安全)。
PS我尝试同时在两个“平台”上测试我的应用程序 - MS VS 2005 + QT 4.8.2 和 QT creator 2.7 + QT 5.0.2 关键是 QPixmap 在 Qt5+creator 的子线程中“工作”良好。但在 MS VS + Qt4.8 中,如果在子线程中使用 QPixmap,则不会显示图像。