QPixmap pixmap;
try
{
QList<QByteArray> aa = QImageReader::supportedImageFormats();
foreach (QByteArray a , aa)
{
qDebug()<<a.data();
}
pixmap = QPixmap(":images/logo.jpg");
}
catch(...)
{
pixmap = QPixmap(":images/logo.png");
}
上述执行结果可以打印出下列格式:
bmp
gif
ico
jpeg
jpg
pbm
pgm
png
ppm
svg
svgz
tif
tiff
xbm
xpm
程序异常终止
当程序执行到 pixmap = QPixmap(":images/logo.jpg"); 这句时异常退出了,各位大侠帮帮忙看是什么原因?
------解决方案--------------------
应该是找不到文件,images/logo.jpg是否添加到了资源文件定义中了
------解决方案--------------------
楼主的代码写的很奇怪呀。在Qt中很少用到try catch,判断QPixmap是否构建成功可以调用isNull()来检查。
当然,代码崩溃的原因并不在这里,在我的环境里运行这段代码是没问题的。楼主还是看看其它的地方吧。
如果楼主不确定,可以把这段代码放到一个新的工程里再看看。
------解决方案--------------------
你是不是把这段代码放到非主线程里面了?