读书人

QPixmap 创建时错误退出的有关问题

发布时间: 2012-04-05 12:42:39 作者: rapoo

QPixmap 创建时异常退出的问题?

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()来检查。

当然,代码崩溃的原因并不在这里,在我的环境里运行这段代码是没问题的。楼主还是看看其它的地方吧。

如果楼主不确定,可以把这段代码放到一个新的工程里再看看。
[解决办法]
你是不是把这段代码放到非主线程里面了?

读书人网 >QT开发

热点推荐