我正在尝试使用 QGLWidget 内容的 FPS 更新状态栏。我将它们连接如下(在 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')
我读过的所有教程似乎都没有任何帮助,而且我相信对于更有经验的人来说修复很简单。
谢谢。