En un programa de QT, tengo una clase QWidget que es la superclase de otra clase declarada así:Ranuras QT y herencia: ¿por qué mi programa intenta conectarse con el padre en lugar de la clase hija?
class Renderer : public QGLWidget
{
Q_OBJECT
....
}
class A : public Renderer
{ .... }
Ahora tienen una ranura para la clase A que no está presente en Procesador, pero cuando trato de ejecutar el programa, se deja de hacer conexiones con la clase a:
Object::connect: <sender name: 'push_button'>
Object::connect: <receiver name: 'A'>
Object::connect: No such slot Renderer::loadDialog() in <file path>
¿Por qué está intentando conectarse al renderizador y no una? ¿Se supone que tengo una ranura en Renderer del mismo nombre?
Gracias
edición:
aquí es la declaración de la ranura A:
public slots:
void loadDialog();
y en cuanto a las conexiones, estoy confiando en Qt Creator en su mayoría, pero aquí es lo que era en el archivo ui_windows.h:
QObject::connect(pushButton, SIGNAL(clicked()), A, SLOT(loadDialog()));
Espero que aclare un poco las cosas :)
Agregado en la edición anterior – confusedKid
Cuando quiera declarar nuevas señales/ranuras a su subclase, debe usar la macro Q_OBJECT –