Есть ли что-то вроде .NET Reflector для Qt? - PullRequest
2 голосов
/ 10 января 2011

Однажды я увидел хороший инструмент под названием .NET Reflector. Он может отображать всю иерархию объектов двоичных файлов / приложений .Net (извините, если термин неверен). Есть ли что-то подобное для Qt? Поскольку Qt обладает очень хорошими способностями QMetaObject, должна быть возможность обхода деревьев объектов, вызова методов (слотов), изменения свойств и т. Д.

В настоящее время я пересматриваю проект Qt. Именование переменных очень специфично для домена, и я не эксперт в этой области. Поэтому мне сложно сопоставить переменную виджета с виджетом на экране. Такой инструмент очень помог бы мне понять код.

Большое спасибо заранее!

Ответы [ 2 ]

2 голосов
/ 11 января 2011

Для простого использования вы можете взглянуть на QObject::dumpObjectTree()

Если вам нужно что-то более продвинутое, есть kspy

kspy: исследует внутреннее состояние приложения Qt / KDE. KSpy - это небольшая библиотека, которую можно использовать для графического отображения объектов QObject, используемых приложением Qt / KDE.Помимо дерева объектов, вы также можете просматривать свойства, сигналы и слоты любого объекта QObject.По сути, он предоставляет почти ту же информацию, что и QObject :: dumpObjectTree () и QObject :: dumpObjectInfo (), но в гораздо более удобной форме.KSpy имеет минимальные накладные расходы для приложения, поскольку библиотека kspy загружается динамически с использованием KLibLoader.Смотрите / usr / share / doc / kspy / README для инструкций по использованию.Этот пакет является частью комплекта разработки программного обеспечения KDE.

Он зависит от klibloader KDE, поэтому, если вы не находитесь под KDE, вам нужно его изменить, но это должно быть довольно просто.Источники здесь .

1 голос
/ 11 января 2011

Есть проект QSpy. Он проверяет все QWidgets запущенного приложения. Я не уверен, насколько хорошо это работает, потому что я не мог использовать его в Mac OS X. Может быть, в Windows это работает лучше. https://github.com/sashao/martlet http://qt -apps.org / содержание / show.php / QSpy? Содержание = 102287

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...