2

我在 Arch Linux 上使用 Qt Creator (QtCreator2.6.1 & Qt4.8.4 64bit),调试时出现问题。如果我运行调试版本,无论我是否设置了任何断点,Creator(或 GDB,我想)都会在标准 Qt 函数处停止并说Stopped at internal breakpoint 2 in thread 1 .. 它总是相同的信息。

我怎样才能停止打破“内部断点”?

我在几个 Qt 函数上遇到了这个问题,但我唯一记得的唯一一个是“addWidget”。在我当前的项目中,我有一个 QMainWindow,它的中心小部件是 QGLWidget。我可以通过调用“layout()->addWidget(m_DlgCur);”向主窗口添加一个小部件 从主窗口。但是,它总是在那条线上中断。在我的一些大型项目中,它也破坏了其他功能!

为了完整起见,我已经包含了主窗口的整个代码:

qrpgWND::qrpgWND( QWidget *Parent )
:   QMainWindow( Parent )
,   m_CntWgt( QGLFormat(QGL::SampleBuffers|QGL::DoubleBuffer|QGL::AlphaChannel|QGL::HasOverlay), this, 0 )
,   m_Layout( NULL ), m_DlgCur( NULL )
{
    m_Layout = new QHBoxLayout();
    m_CntWgt.setLayout( m_Layout );
    setCentralWidget( &m_CntWgt );
    m_BtnCls.setText( "Exit" );
    Q_ASSERT(
        connect(    &m_BtnCls,  SIGNAL(clicked(bool)),
                    this,           SLOT(btnCls())  )
    );
    Q_ASSERT(
        connect(    &m_BtnCraft,    SIGNAL(clicked(bool)),
                    this,               SLOT(btnCraft())    )
    );
    m_Layout->addWidget( &m_BtnCls );
    m_BtnCraft.setText( "Craft" );
    m_Layout->addWidget( &m_BtnCraft );
return;
}

void qrpgWND::btnCraft()
{
    if( m_DlgCur == NULL )  {
        m_DlgCur = new qrpgDlgCrafting( &m_DlgCur, &m_CntWgt );
        layout()->addWidget( m_DlgCur );
        m_DlgCur->show();
    }
return;
}
4

0 回答 0