J'essaye de mettre à jour la barre d'état avec le FPS du contenu d'un QGLWidget. Je les ai connecté comme suit (en classe MainWin):Qt4 slots and signals: Qt4 a du mal à trouver le signal
glWidget = new GLWidget;
ui.verticalLayout->addWidget(glWidget);
connect(glWidget, SIGNAL(updateFPSSignal(float) ),
this, SLOT( updateFPSSlot(float) ));
}
La fente est la suivante:
void MainWin::updateFPSSlot(float fps){
this->statusBar()->showMessage(QString::number(fps), 0);
}
Dans la définition de classe MainWin, j'ai:
public slots:
void updateFPSSlot(float fps);
Et la Le signal est le suivant: (D'après ce que je comprends, cela ne devrait pas être ici, mais le programme refuse de compiler sans cela).
void GLWidget::updateFPSSignal(float fps){}
J'ai ce qui suit dans la définition de classe GLWidget:
signals:
void updateFPSSignal(float fps);
Après avoir calculé les fps, je l'appelle:
emit updateFPSSignal(fps);
Cependant, lorsque l'application démarre, ce qui suit est imprimé:
Object::connect: No such signal QGLWidget::updateFPSSignal(float) in /Users/usm/Desktop/OGLTest/MainWin.cpp:12
Object::connect: (receiver name: 'MainWinClass')
Aucun des tutoriels que j'ai lus ne semble avoir d'aide, et je suis sûr que la solution est simple pour quelqu'un de plus expérimenté.
Merci.
Veuillez écrire «Qt» et non «QT» pour plus de clarté. Merci – rubenvb