我開發使用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