QPixmap负载分段故障
QPixmap load segmentation fault
我正在windows 7上创建一个Qt控制台应用程序。我使用的是Qt 5.3。现在我犯了一些错误,这些错误让我感到沮丧。已经查看了stackoverflow,但没有答案帮助我。
我的问题是,当创建一个Qpixmap时,我遇到了错误分割错误,我没有任何其他错误信息。
这是我的代码:
QString filePath = (directory + xmlReader.attributes().value("relativepath").toString());
QFile _file(filePath);
if (!_file.exists())
{
qWarning() << "Error : file " << filePath << " does not exist";
return false;
}
QImageReader imageReader(filePath);
QImage mainImage = imageReader.read();
if(mainImage.isNull())
{
qWarning() << "Error read image : " << filePath;
qWarning() << imageReader.errorString();
return false;
}
QPixmap mainPixmap(QPixmap::fromImage(mainImage)); // Segmentation fault here
在我的机器上生成分段错误的代码的最后一行。我能做些什么来调试这个错误吗?
更新:我在QPixmap上有一些代码,但它导致了相同的分割错误。
代码1:
QString filePath = (directory + xmlReader.attributes().value("relativepath").toString());
QFile _file(filePath);
if (!_file.exists())
{
qWarning() << "Error : file " << filePath << " does not exist";
return false;
}
QImageReader imageReader(filePath);
QImage mainImage = imageReader.read();
if(mainImage.isNull())
{
qWarning() << "Error read image : " << filePath;
qWarning() << imageReader.errorString();
return false;
}
QPixmap mainPixmap;
mainPixmap = QPixmap::fromImage(mainImage); // segmentation fault here
代码2:
QString filePath = (directory + xmlReader.attributes().value("relativepath").toString());
QFile _file(filePath);
if (!_file.exists())
{
qWarning() << "Error : file " << filePath << " does not exist";
return false;
}
QPixmap mainPixmap;
mainPixmap.load(filePath); // segmentation fault here
代码3:
QString filePath = (directory + xmlReader.attributes().value("relativepath").toString());
QFile _file(filePath);
if (!_file.exists())
{
qWarning() << "Error : file " << filePath << " does not exist";
return false;
}
QPixmap mainPixmap;
if(_file.open(QFile::ReadOnly))
{
mainPixmap.loadFromData(_file.readAll()); //segmentation fault here
}
我终于弄清楚问题出在哪里了。问题是,在使用QPixmap之前,我需要有QGuiApplication实例。
在控制台应用程序上,我通常将QCoreApplication作为根QApplication,但当我们想要使用QPixmap时,我们需要将其更改为main.cpp上的QGuiApplication。
希望这能帮助其他人。:(
相关文章:
- 分段故障(堆芯转储)矢量
- 数组的指针从不分段故障
- Windows 10-使用gtkmm-3.0库和g++[包括再现]的分段故障
- 分段故障 运行C++代码时出现 SIGSEGV
- 分段故障背包问题
- 分段故障 11,从类函数显示动态 C 字符串
- 面临分段故障 使用 ffmpeg 读取视频时,因为"pFormatCtx-> streams [i]-> codecpar"的地址0x00
- 在C++中,当指向删除和指向不同对象时,分段故障指针
- 对程序故障进行分段
- 分段故障说明
- 分段故障(核心转储)-不知道为什么
- 分段故障线程
- hiredis SET遇到分段故障
- 分段故障,合并排序算法
- 多线程程序中的分段故障和gdb回溯上的不完整信息
- 到达主C++之前分段故障
- 分段故障核心使用 IF流转储
- 使用向量的移动键盘排列(分段故障)
- 在二进制树插入和遍历期间,我得到了分段故障
- 分段故障在类之间返回整数