gpt4 book ai didi

c++ - 确定插槽是否连接到给定信号

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:39 24 4
gpt4 key购买 nike

我很想知道是否有某种方法可以确定是否存在与我在类中定义的给定信号的连接。它基本上是一个处理数据的信号,我不在乎它连接到什么,但我想包括一个完整性检查,以确保我不会将数据发送到永远不会被看到的空隙中。我已经查看了 Determine signals connected to a given slot in Qt , 但这是一个相反的问题。

最佳答案

QObject::isSignalConnected() 正是用于该用例 - 避免在没有人收听时准备信号发射的不必要工作。它的API docs甚至还有一个很好的例子。

示例:

static const QMetaMethod valueChangedSignal = QMetaMethod::fromSignal(&MyObject::valueChanged);
if (isSignalConnected(valueChangedSignal)) {
QByteArray data;
data = get_the_value(); // expensive operation
emit valueChanged(data);
}

关于c++ - 确定插槽是否连接到给定信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27908217/

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