gpt4 book ai didi

c++ - Qt4 槽和信号 : Qt4 has trouble finding the signal

转载 作者:行者123 更新时间:2023-11-27 23:33:09 25 4
gpt4 key购买 nike

我正在尝试让状态栏随着 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 ... */

};

在你的类(class)声明中?并且您是否已将 glwidget.h header 放入 .pro 文件的 HEADERS 部分?信号的实现是由 moc 完成的,而不是你。

关于c++ - Qt4 槽和信号 : Qt4 has trouble finding the signal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3298980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com