如何在QT中跟踪发出的信号?

时间:2010-05-06 10:24:12

标签: c++ qt qt4 signals signals-slots

有没有办法观察所有发出的信号?

PS。当然我们可以为所有信号写槽,但这不是我想要的。

1 个答案:

答案 0 :(得分:6)

观察是什么意思?您是否需要在控制台上获得实时反馈,或者是否在程序退出时记录到文件?

如果您需要在控制台上获得实时反馈,则可以检查QTest的实施情况。有一个-vs命令行开关(Qt doc),可以在控制台上打印所有信号(或者你可以用-vs开关运行你的QTest测试,如果你只需要在测试中使用信号信息,而不是在实际应用中)。

另一种方法是使用QSignalSpy类。然而,这并不理想,因为每个信号需要一个间谍,你必须定期打印观察到的信号(QSignalSpy中没有通知)。