poo herencia ejemplos derivadas derivada codigo clases clase c++ qt signals-slots

c++ - derivadas - ejemplos de herencia en poo



¿Por qué Qt está buscando mi ranura en la clase base en lugar de la derivada? (2)

¿Agregaste la macro Q_OBJECT en la clase derivada?

Tengo mi clase X que hereda de la clase Base de Qt. void mySlot() y void mySlot() ranura void mySlot() en mi clase X y estoy conectando alguna señal a esta ranura en el constructor de X. Sin embargo, cuando ejecuto mi programa recibo un mensaje de error que dice que no hay ningún espacio como void mySlot() en la clase Base .

¿Por qué el código generado por Meta Object Compiler (moc) busca mi ranura en la clase base y no en mi clase (derivada)?


Desde el canal #qt irc

  1. Asegúrese de que la macro Q_OBJECT esté presente en la definición de todas las clases derivadas de QObject.
  2. Asegúrese de declarar SOLAMENTE las clases derivadas de QObject en sus archivos de encabezado.
  3. Asegúrese de que todos sus archivos de encabezado estén listados en su archivo .pro en la lista HEADERS =.
  4. Ejecute qmake cada vez que agregue Q_OBJECT a una de sus clases o modifique su archivo .pro.