Qual é o significado da propriedade Q no Qt?

Eu não sou capaz de entender o uso de Q_PROPERTY. Como é que a Q_PROPERTY ajuda a tornar um programa defensivo? Para qu ... st { return m_priority; } signals: void priorityChanged(Priority); private: Priority m_priority; };