我开发使用Qt库在Visual Studio中的代码setFixedSize()。 我有一个A类作为Qt类的孩子。未处理的异常,同时呼吁从Qt5Widgets
class A::A(QWidget *parent, QGLWidget *shareWidget) : QGLWidget(parent, shareWidget)
这个类的成员函数中的一个是:
void A::setImage(Image *image)
{
m_image = image;
setFixedSize(image->width(), image->height());
}
(其中setFixedSize是父类的QWidget的方法)
调用此方法在下面的来自另一班的事件:
bool B::event(QEvent* e)
{
QWidget::event(e);
...
A instA = new A();
instA.setImage(*image)
...
}
以下异常在setFixedSize抛出,虽然传递的值是一样的宽度=身高真的正常INT = 500
Unhandled exception at 0x54A6B056 (Qt5Widgetsd.dll):
0xC0000005: Access violation reading location 0x939394BC.
这种方法setImage IST叫来几个时间,而乳宁的代码,它工作得很好。问题仅在B :: event(QEvent * e)中出现。
PS:该方法没有在这一点上工作,即使我直接传递恒定值等setFixedSize(500,500)。
期待任何建议。
请提高您的问题(见[MCVE(HTTP://计算器.COM /帮助/ MCVE)),尤其是:完成'setImage'函数签名,表明了全面实施'B :: event',并提供完整的堆栈跟踪。 – Dreamcooled