Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 有没有办法声明一个只能在封闭类中监听的QT信号?_C++_Qt_Signals - Fatal编程技术网

C++ 有没有办法声明一个只能在封闭类中监听的QT信号?

C++ 有没有办法声明一个只能在封闭类中监听的QT信号?,c++,qt,signals,C++,Qt,Signals,QT信号在默认情况下受保护,这意味着它们可以在对象中发射,但可以在任何地方收听 但有些信号是实现细节,我正在努力找到一种方法,不让它超出类的范围 有办法吗 更新: 我想使用信号,因为我想对一些优先级较低的任务排队,而不是在发出/调用时及时处理它们。使用Qt::QueuedConnection进行此操作是不是一个坏主意?我很难理解为什么在这种情况下不使用回调函数?如果信号是“实现细节”,那么只需调用适当的函数,而不是发出信号?我同意@JonathanMee。Qt的信号并不是为了内部使用,而是为了让

QT信号在默认情况下受保护,这意味着它们可以在对象中发射,但可以在任何地方收听

但有些信号是实现细节,我正在努力找到一种方法,不让它超出类的范围

有办法吗

更新:


我想使用信号,因为我想对一些优先级较低的任务排队,而不是在发出/调用时及时处理它们。使用Qt::QueuedConnection进行此操作是不是一个坏主意?

我很难理解为什么在这种情况下不使用回调函数?如果信号是“实现细节”,那么只需调用适当的函数,而不是发出信号?我同意@JonathanMee。Qt的信号并不是为了内部使用,而是为了让普通用户能够收听,而不需要知道或关心它们的细节。这不适合您的使用案例,所以不要使用信号。@JonathanMee用于一些优先级较低的任务,这些任务最好排队,而不是及时处理。为此使用Qt::QueuedConnection是一个坏主意吗?请参阅