有没有办法观察所有发出的信号?
PS。当然,我们可以为所有信号编写槽,但这不是我想要的。
观察是什么意思?您是否需要控制台上的实时反馈,或者在程序退出时记录到文件是否足够?
如果您需要控制台上的实时反馈,您可以检查 QTest 的执行情况。有一个 -vs 命令行开关(Qt doc)可以在控制台上启用所有信号打印输出(或者,如果您只在测试中需要信号信息,而不是在实际应用程序中,您可以使用 -vs 开关运行 QTest 测试)。
另一种方法是使用QSignalSpy类。然而,这并不理想,因为每个信号都需要一个间谍,并且必须定期打印观察到的信号(QSignalSpy 中没有通知)。