Я пытаюсь обновить строку состояния с помощью FPS содержимого QGLWidget. Я подключил их следующим образом (в классе MainWin):
glWidget = new GLWidget;
ui.verticalLayout->addWidget(glWidget);
connect(glWidget, SIGNAL( updateFPSSignal(float) ),
this, SLOT( updateFPSSlot(float) ));
}
Слот выглядит следующим образом:
void MainWin::updateFPSSlot(float fps){
this->statusBar()->showMessage(QString::number(fps), 0);
}
В определении класса MainWin у меня есть:
public slots:
void updateFPSSlot(float fps);
И сигнал следующий: (насколько я понимаю, этого не должно быть здесь, но программа отказывается компилироваться без него).
void GLWidget::updateFPSSignal(float fps){}
У меня есть следующее в определении класса GLWidget:
signals:
void updateFPSSignal(float fps);
После расчета fps я звоню:
emit updateFPSSignal(fps);
Однако при запуске приложения распечатывается следующее:
Object::connect: No such signal QGLWidget::updateFPSSignal(float) in /Users/usm/Desktop/OGLTest/MainWin.cpp:12
Object::connect: (receiver name: 'MainWinClass')
Ни один из прочитанных мною уроков, похоже, не поможет, и я уверен, что это исправление просто для кого-то более опытного.
Спасибо.