gpt4 book ai didi

qt - 在 Qt 中延迟函数调用

转载 作者:行者123 更新时间:2023-12-02 09:37:16 26 4
gpt4 key购买 nike

我在 Qt 4.8 (windows) 中有一个函数,它有 3 件事要做,就像这样:

void f()
{
//1. Do initialization

//2. Defer g() for next event (on the same thread) so that it may execute after f() is over

//3. Call h() which is time consuming
}

现在,我不确定如何实现第二步,即如何确保在 f() 调用完成后调用 g(),在同一个线程(但在不同的堆栈上)。我尝试使用 QTimer 但如果我提供的时间很短,比如 10 毫秒,即使 f() 没有调用函数 g()执行完毕。所以,依赖定时器似乎并不是一个可靠的想法。请帮忙,非常感谢任何想法。

最佳答案

使 g() 成为插槽或 Q_INVOKABLE。然后使用 QMetaObject::invokeMethod(this, "g", Qt::QueuedConnection)

关于qt - 在 Qt 中延迟函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24287562/

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