繁体   English   中英

Qt4插槽和信号:Qt4找不到信号

[英]Qt4 slots and signals: Qt4 has trouble finding the signal

我正在尝试使用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')

我读过的所有教程似乎都没有帮助,而且我相信对于有经验的人来说,修复很简单。

谢谢。

你有

class GLWidget : public QGLWidget {

   Q_OBJECT

   /* ... rest of declaration ... */

};

在你的班级声明中? 并将glwidget.h标头放入.pro文件的HEADERS部分吗? 信号的实现是由moc完成的,而不是您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM