Red de conocimiento informático - Problemas con los teléfonos móviles - En el código Qt, algunos usan connect() directamente y otros usan QObject::connect(). ¿Cuál es la diferencia? ¿O por qué?

En el código Qt, algunos usan connect() directamente y otros usan QObject::connect(). ¿Cuál es la diferencia? ¿O por qué?

No es el Q_OBJECT lo que afecta el uso.

Aquellos que usan la función de conexión directamente en realidad heredan de QObject, por lo que puede usar la función de conexión directamente sin agregar un nombre de dominio. Entonces, usar connect() directamente o usar QObject::connect() es en realidad una función.

Dijiste: Descubrí que generalmente cuando hay señales y ranuras personalizadas, connect se usa directamente. Estas clases tienen la macro Q_OBJECT.

De hecho, puedes usar la macro Q_OBJECT para demostrar que esta clase hereda de QObject. Por lo tanto, puede usar directamente la función de conexión

La adición de la macro Q_OBJECT a una clase que hereda de QObject solo indica si la clase tiene la función de señales y ranuras personalizadas