3

我们有一个应用程序具有复杂的小部件层次结构,我希望能够以类似于 Spy++ 的方式浏览此层次结构、查看和编辑属性(例如大小)。如果有可以显示此信息的小部件,它不需要在外部应用程序中运行。那么问题来了,这样的神兽真的存在吗?

4

3 回答 3

3

您可以将Gammaray用于间谍小部件和信号槽以及计时器和资源等。Gammaray 是用于间谍 Qt 应用程序的非常强大的工具

于 2014-08-12T06:39:33.397 回答
3

通常的方法是在内部构建这样一个野兽,使用自省 API,并遍历 QWidget 父子层次结构。构建一个基本的很容易;如果您想构建一个完整的属性编辑器,则需要做更多的工作。您可能可以重复使用一些代码来减少工作量——甚至可能是来自 Designer 的属性检查器代码,尽管它可能有点矫枉过正。由于时间限制,我从来没有达到完整的 GUI——我只是将层次结构和一些固定属性作为文本或 XML 转储到标准输出。

我想用它制作一个可重用的 GUI 组件是合理的,它可以放入任意应用程序中,寻找顶级小部件,并允许检查所有内容,如果你有时间和倾向的话。

于 2010-10-28T12:40:52.857 回答
0

不是浏览器,但在调试中很有用......

void QObject::dumpObjectTree() const

将子树转储到调试输出。

于 2019-10-31T10:42:45.160 回答