Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一个Qt小部件来浏览应用程序中小部件的层次结构(类似于Spy+;+;)?_Qt_Widget_Spy++ - Fatal编程技术网

是否有一个Qt小部件来浏览应用程序中小部件的层次结构(类似于Spy+;+;)?

是否有一个Qt小部件来浏览应用程序中小部件的层次结构(类似于Spy+;+;)?,qt,widget,spy++,Qt,Widget,Spy++,我们有一个应用程序,具有复杂的小部件层次结构,我希望能够以类似于Spy++的方式浏览这个层次结构、查看和编辑属性(如大小)。如果有一个小部件可以显示这些信息,那么它不需要在外部应用程序中运行。所以问题是,这样一个神话般的野兽存在吗?通常的方法是在内部构建这样一个野兽,使用自省API,并遍历QWidget父子层次结构。建立一个基本的模型是相当容易的;如果您想构建一个完整的属性编辑器,则需要做大量的工作。可能有一些代码可以重复使用以减少工作量,甚至可能是Designer中的property insp

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

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


我想用它制作一个可重用的GUI组件是可行的,它可以被放入任意的应用程序中,寻找顶级的小部件,并允许检查所有东西,如果您有时间和意愿。

您可以用于spy小部件、信号槽、计时器和资源等。Gammaray是spy Qt应用程序的强大工具

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

void QObject::dumpObjectTree()const


将子目录树转储到调试输出。

我想可能就是这样。真的很遗憾,因为它将是一个非常有用的组件,而且考虑到
qabstractemmodel
概念的强大功能,它可能并不难做到。