检查所有的Qt信号/槽连接

7

我们进行了大量的命名空间重构。对我们来说一个很大的问题是,现在我们只能在运行时检查是否存在错误的信号/槽连接。

有没有外部工具、代码分析器或方法,可以一次性检查所有信号/槽连接?

我们考虑使用froglogic squish,但我们不确定squish是否能帮助我们进行这种详细的测试。

提前感谢, Lars

2个回答

1

有一件事情可能对你有用:Conan 1.0.0:。它只适用于qt 4.6和4.7。请参见topic @qtCentre

此外,我可以向你推荐来自http://www.wholetomato.com/Visual Assist X插件工具,适用于MSVStudio 200x和2010,它有许多重构解决方案。例如:重命名工具:


alt text


如果您勾选了“注释和字符串”复选框,它将在整个解决方案中重命名此符号,包括您代码中的所有位置。因此,如果您已经建立了正确的连接,只需要重构命名空间和类,这个工具可以帮助您。我希望如此。

1
谢谢您的建议,但Conan并不符合我们的需求。它只显示当前实例化小部件/类的连接。我们还遇到了模态对话框的问题。 - Lars

0

Conan (sourceforge.net/projects/conanforqt/)无法帮助您解决问题,因为它只能在运行时检查和监视现有的连接。

据我所知,目前没有工具可以在编译时检查所有连接定义是否有效。请注意,这可能甚至不可行,因为连接可以从局部变量、输入参数等动态构造。

我唯一能想到的选择是找到所有建立连接的地方。对于每个连接,请检查任何明显的问题:常量正确、参数类型正确等等。设置一个断点并开始调试。任何不正确的连接都将被Qt记录到控制台输出/std:err中。

祝您好运

p.s.:您提到了

也遇到了模型对话框的问题

这适用于Conan吗?如果是,您能否向我提供详细信息,以便我更新Conan?


1
抱歉打错字了,但我有_modal_对话框的问题。如果一个模态对话框在焦点上,我无法在Conan小部件中做任何事情。 - Lars

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接