我经常看到人们使用的是connect()而不是QObject::
我怎样才能做到这一点?当我只写connect()时出现错误:'connect' was not declared in this scope
我不能使用using namespace QObject,因为QObject是类,而不是 namespace 。

最佳答案

当您处于从QObject继承的类的成员函数中时,可以完成此操作。而且,如果您不在从QObject继承的对象范围内,则应使用对象实例而不是作用域。

因此,例如:

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

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

关于c++ - 使用不带QObject的connect()和tr():,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28070032/

10-13 08:19