Qt::show()中的崩溃

Qt::show()中的崩溃,qt,qt4,Qt,Qt4,我已经编写了显示弹出对话框(QDialog)的代码,悬停在QToolButton上。我反复得到以下堆栈跟踪。这是预期的吗 0 QtGui 0x0642d209 QWindow::windowState() const + 9 1 libqcocoa.dylib 0x0b10e0f4 0xb0fe000 + 65780 2 QtGui 0x0642c0

我已经编写了显示弹出对话框(QDialog)的代码,悬停在QToolButton上。我反复得到以下堆栈跟踪。这是预期的吗

0   QtGui                           0x0642d209 QWindow::windowState() const + 9
1   libqcocoa.dylib                 0x0b10e0f4 0xb0fe000 + 65780
2   QtGui                           0x0642c0e0 QWindow::setVisible(bool) + 736
3   QtWidgets                       0x0693524b QWidgetPrivate::show_sys() + 907
4   QtWidgets                       0x06916795 QWidgetPrivate::show_helper() + 469
5   QtWidgets                       0x069172e8 QWidget::setVisible(bool) + 1128
6   QtWidgets                       0x06ad6573 QDialog::setVisible(bool) + 243
7   QtWidgets                       0x06916544 QWidget::show() + 180
这是已知的堆栈跟踪吗?我确保我使用的是共享的\u ptr,并且在任何情况下都不为空。并且没有两个弹出窗口同时可见

添加调用代码:

fDialog.reset(new kcqt::QtPopupWidget(kcqt::QtPopupArrow::eArrowEast, false));
fDialog->setStyleSheet(fIPopupDialog);
fDialog->update();
//Orient Popup south-west when it does not lie in the visible window
if((parentGlobalLocation.y()+fBookElementsDialog->height()/2)>aMain->height())
{
    fDialog->setGeometry(parentGlobalLocation.x()-dialogSize.width(),parentGlobalLocation.y()-dialogSize.height()+45, dialogSize.width(), dialogSize.height());
    fDialog->updateGeometry();
    fDialog->updateArrowOrientation(kcqt::QtPopupArrow::eArrowSouthEast_East);
    fDialog->update();
    fDialog->show();
    return;
}

它在
Qt::Show()

中崩溃,请在此处发布您的代码以更好地理解您的问题。Azeem,我已更新了描述中的代码。当它崩溃时,调试器会说什么?哪一排?数据是否一致?指针是否正常?什么是
fDialog