我经常看到人们在没有connect()
的情况下使用QObject::
我怎样才能做到这一点?当我只写connect()
时,我得到错误:
'connect' was not declared in this scope
我不能使用using namespace QObject
,因为QObject是类,而不是命名空间。
答案 0 :(得分:3)
当您处于继承自QObject
的类的成员函数中时,可以执行此操作。当你不在继承自QObject
的对象的范围内时,你应该使用对象实例而不是范围。
例如:
class MyClass : public QObject
{
...
void myMemberFunction()
{
...
connect(...); // Implicitly uses this->connect(...)
...
}
...
};
void myNonmemberFunction(MyClass& instanceOfMyClass)
{
...
instanceOfMyClass.connect(...)
...
}