Qt - 编译器无法识别“连接”

时间:2013-09-10 19:43:53

标签: qt qt4

我正在使用Qt 4.7,我有一部分带有信号和插槽的代码。它的设置正常,即:

#include <QObject>

//Earlier code...
connect(my_thread, SIGNAL(started()), other_thread, SLOT(process()));
connect(my_thread, SIGNAL(finished()), third_thread, SLOT(some_slot()));
//Later code...

然而,当我构建它时,每个语句都会出现错误,说“C3861:'connect':未找到标识符”是否有人有任何想法为什么会这样?谢谢!

1 个答案:

答案 0 :(得分:18)

如果您在不属于QObject派生类的代码中使用connect,请在connect与QObject::之前使用,因此代码将变为:

//Earlier code...
QObject::connect(my_thread, SIGNAL(started()), other_thread, SLOT(process()));

LE:基本上你调用静态 connect 方法,当你不在QObject(或QObject派生类)的范围内时,你需要完全指定 connect 你想调用,否则编译器找不到它(或者它可能在当前范围内找到错误的连接)