2011-01-10 91 views
2

一旦我看到一个叫做.NET Reflector的漂亮工具。它可以显示.Net二进制文件/应用程序的整个对象层次结构(抱歉,如果该术语是错误的)。 Qt有这样的东西吗?由于Qt具有非常好的QMetaObject功能,因此应该可以遍历对象树,调用方法(槽),更改属性等。Qt中是否有类似.NET Reflector的东西?

我目前正在重新构建Qt项目。变量的命名是特定领域的,我不是这个领域的专家。所以,我很难将widget变量映射到屏幕上的小部件。这样的工具对我理解代码会有很大的帮助。

非常感谢您提前!

回答

1

有QSpy项目。它检查正在运行的应用程序的所有QWidgets。我不确定它的工作效果如何,因为我无法在Mac OS X上使用它。也许在Windows上它效果更好。 https://github.com/sashao/martlet http://qt-apps.org/content/show.php/QSpy?content=102287

+0

谢谢。看起来不像.Net Reflector成熟,但比什么都没有,并且有代码! – 2011-01-10 23:19:12

2

对于简单的使用。如果你需要的东西更先进的有kspy

kspy你可能想看看QObject::dumpObjectTree()

:检查一个 的Qt/KDE应用程序KSpy的内部状态是一个小型库 ,它可用于图形显示 Qt/KDE应用程序使用的QObject。除了对象 树之外,您还可以查看QObject的任何 属性,信号和插槽。基本上它提供了很多 与 相同的信息QObject :: dumpObjectTree()和 QObject :: dumpObjectInfo(),但在 更方便的形式。 KSpy具有 最小的应用程序开销, ,因为kspy库使用KLibLoader动态加载 。请参阅/ usr /share/doc/kspy/README以获取使用说明 的说明。该软件包是KDE软件开发工具包 的一部分。

它依赖于KDE的klibloader,所以如果你不在KDE下,你必须修改它,但它应该很容易。来源是here

相关问题