我知道我想要实现的目标是可能的,因为我可以使用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);