我的程序工作正常,但我想在其中添加一个额外的信号以显示更新的值。这是信号第一次来自班级本身,所以我决定使用this
,你会看到。
在我的头文件中,像往常一样,我声明了我的信号:
signals:
void NotifyStatusUpdated(const QString& value);
private:
SetupTab& m_setupTab;
Instrument& m_instrument;
在.cpp中,最后构建的是信号:
WireMessages();
emit NotifyStatusUpdated(tr("Long wait time (Ms) updated : %1 ").arg(long_wait));
然后在下面我有这个:
void SetupViewManager::WireMessages()
{
connect(&m_instrument, &Instrument::NotifyErrorDetected,
&m_setupTab, &SetupTab::onStatusUpdated); //this works
connect(&m_instrument, &Instrument::NotifyStatusUpdated,
&m_setupTab, &SetupTab::onStatusUpdated); //this works
connect(this, &Instrument::NotifyStatusUpdated, //this does not work (it doesn't build)!
&m_setupTab, &SetupTab::onStatusUpdated);
}
所以在我的班级参考m_instrument
中,我有另一个同名的信号。所以我想在这里调用this
类的信号。
error: no matching member function for call to 'connect'
connect(this, &Instrument::NotifyStatusUpdated,
^~~~~~~
这对我来说似乎不合适?我犯了什么愚蠢的错误?
答案 0 :(得分:2)
代码中的this
指针属于SetupViewManager
类:
connect(this, &SetupViewManager::NotifyStatusUpdated, ...
// ^^^^^^^^^^^^^^^^