当前位置: 代码迷 >> QT开发 >> QPixmap 创建时错误退出的有关问题
  详细解决方案

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

热度:275   发布时间:2016-04-25 04:57:25.0
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()来检查。

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

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