ico文件是一个容器,内部可以装载许多个image,我们可以通过QIcon的pixmap方法来获取需要的image
QPixmap pixmap ( const QSize & size, Mode mode = Normal, State state = Off ) const
该方法通过输入一个给定的QSize来返回相应的图片,得到的图片会小于等于给定的大小,但不会大于该QSize值
但是这种方法在某种程度上就不符合我们的需要了,比如一个ico文件,内部有好几个48×48,32×32,16×16的image,调用上述方法只能得到第一个符合条件的image,因此在这种情况下,我们就需要使用另一种方法来获取指定位置的image
QImage GetImage(
const QString &fileName, int imageIndex)
{
QImage image;
QImageReader reader(fileName);
if (reader.jumpToImage(imageIndex))
{
QImage image;
reader.read(&image);
}
return image;
}
http://blog.csdn.net/lorenliu/article/details/6218757