使用connect()和tr()而不使用QObject ::

时间:2015-01-21 14:47:49

标签: c++ qt qobject

我经常看到人们在没有connect()的情况下使用QObject:: 我怎样才能做到这一点?当我只写connect()时,我得到错误:
'connect' was not declared in this scope

我不能使用using namespace QObject,因为QObject是类,而不是命名空间。

1 个答案:

答案 0 :(得分:3)

当您处于继承自QObject的类的成员函数中时,可以执行此操作。当你不在继承自QObject的对象的范围内时,你应该使用对象实例而不是范围。

例如:

class MyClass : public QObject
{
    ...
    void myMemberFunction()
    {
        ...
        connect(...);  // Implicitly uses this->connect(...)
        ...
    }
    ...
};

void myNonmemberFunction(MyClass& instanceOfMyClass)
{
    ...
    instanceOfMyClass.connect(...)
    ...
}