我正在一个块中使用信号和槽连接。我的代码如下所示:
在a.cpp中:
{
QObject::connect(m_ptheFlange2Details,SIGNAL(GetFlang1DimAfterAnalysis()),
this,SLOT(GetFlang1DimAftrAnalysis()));
m_ptheFlange2Details->get();// one function inside which i am emiting
// GetFlang1DimAfterAnalysis() signal ;
QObject::disconnect(m_ptheFlange2Details,SIGNAL(GetFlang1DimAfterAnalysis()),
this,SLOT(GetFlang1DimAftrAnalysis()));
}
在 get() 函数中,当执行这个 emit 语句时,槽函数会被调用多次。但我认为它应该只调用一次。
connect
没有被多次调用吗?请展示更多代码。在哪个函数中写了connect
和disconnect
? - Ammarget()
函数中emit
被调用了多少次? - cmannett85QObject::disconnect(...)
是否返回true
。如果是,则代码的这部分是正确的。您可能会在get()
或其他地方遇到问题。 - Kuba hasn't forgotten Monica