Я пытаюсь получить строку состояния для обновления с помощью FPS содержимого QGLWidget. Я соединил их следующим образом (в классе MainWin):Слоты Qt4 и сигналы: у Qt4 есть проблемы с поиском сигнала
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);
После расчета кадров в секунду, я называю:
emit updateFPSSignal(fps);
Однако, когда приложение запускается, следующее распечатка:
Object::connect: No such signal QGLWidget::updateFPSSignal(float) in /Users/usm/Desktop/OGLTest/MainWin.cpp:12
Object::connect: (receiver name: 'MainWinClass')
Ни один из обучающих программ, которые я прочитал, по-видимому, не является какой-либо помощью, и я уверен, что исправление просто для кого-то более опытного.
Спасибо.
Пожалуйста, напишите «Qt», а не «QT» для ясности. Спасибо – rubenvb