我知道我想要实现的目标是可能的,因为我可以使用lambda表达式来实现它,而我之前已经做到了(几个月前我只是不记得语法)。基本上,我想将功能连接到计时器/按钮/等。以促进事件的进行。

这是我的工作代码:

connect( &renderTimer, &QTimer::timeout, [ = ]() {
        onTimerUpdate();
    } );

使用lambda连接到插槽。我只想引用函数本身,而不要使用lambda表达式。我尝试插入方法onTimerUpdate()&onTimerUpdate都不起作用。我不想使用QObject或它的任何预先生成的废话—我也不想在我的类中定义插槽。我想非常简单地将它直接连接到我的函数上。

最佳答案

连接到成员函数时的格式为:

QObject::connect(&renderTimer, &QTimer::timeout, this, &ArclightGLWidget::onTimerUpdate);

连接到免费功能时使用的格式(与lambda相同)
QObject::connect(&renderTimer, &QTimer::timeout, onTimerUpdate);

这是连接到静态成员函数时的格式:
QObject::connect(&renderTimer, &QTimer::timeout, SomeType::onTimerUpdate);

10-05 18:35