如何拦截Qt中给定事件发出的所有信号?

Pio*_*zia 9 debugging qt pyqt signals-slots

我可以想象,根据事件的不同,可能会有相当多的,但与此同时,我想这可能是一种最好的调试方式,也是一个有趣的教训.

我为什么需要它?我正在使用一些基于的自定义类QWidget,当我QDockWidget在同一窗口中取消基础时,它不会扩展.知道在卸载此停靠窗口小部件时发出的信号将帮助我选择在自定义类中覆盖所需的方法.

换句话说,我不想检查文档中的每个可能的信号,但只是看看当我在我的应用程序中执行某些操作时发出的信号.

roh*_*npm 10

任何公共API都无法做到这一点.

但是,如果将代码放入基于QTestLib的单元测试中,则可以运行单元测试-vs以打印出每个发出的信号.


gre*_*eth 7

您可能想看一下QSignalSpy类.我想虽然你必须手动连接你想窥探的信号.