gpt4 book ai didi

c++ - 没有 QObject 或插槽的 Qt connect()

转载 作者:太空狗 更新时间:2023-10-29 23:35:54 24 4
gpt4 key购买 nike

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

关于c++ - 没有 QObject 或插槽的 Qt connect(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26937517/

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