gpt4 book ai didi

qt - 基于 QObject 的类具有与自身的排队连接

转载 作者:行者123 更新时间:2023-12-04 13:16:30 25 4
gpt4 key购买 nike

我正在研究我正在处理的一些源代码。我发现有人编写了一个奇怪的语句。源代码是一个带有 QML GUI 的 GUI 应用程序,使用 QT 4.7.x。

下面的代码片段属于核心应用程序逻辑。

// connect signal-slots for decoupling
QObject::connect (this, SIGNAL(setCurrentTaskSignal(int)), this,
SLOT(SetCurrentTaskSlot(int)), Qt::QueuedConnection);

奇怪的是,对象通过排队连接连接到自身,这实质上意味着该对象可能同时“存在”在不同的线程中?

乍一看,这对我来说没有任何意义。谁能想到为什么这种联系是合理或需要的?这甚至会起作用吗?

最佳答案

它将毫无问题地工作。也许在调用 SetCurrentTaskSlot 之前需要一些事件循环处理?

请注意, QueuedConnection 并不意味着某些东西在不同的线程中。 QueuedConnection 仅表示在发出信号时,不会直接调用相应的插槽。它将在事件循环中排队,并在控制权交还给事件循环时进行处理

关于qt - 基于 QObject 的类具有与自身的排队连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11230080/

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