Есть ли виджет Qt для просмотра иерархии виджетов в приложении (аналог Spy ++)? - PullRequest
2 голосов
/ 28 октября 2010

У нас есть приложение со сложной иерархией виджетов, и я хочу иметь возможность просматривать эту иерархию, просматривать и редактировать свойства (например, размер) аналогично Spy ++.Его не нужно запускать во внешнем приложении, если есть виджет, который может отображать эту информацию.Вопрос в том, существует ли такой мифический зверь?

Ответы [ 2 ]

3 голосов
/ 12 августа 2014

вы можете использовать Gammaray для шпионского виджета, слота сигналов, таймеров, ресурсов и т. Д. Gammaray - очень мощный инструмент для шпионского приложения Qt

3 голосов
/ 28 октября 2010

Обычный подход состоит в том, чтобы создать такого зверя собственными силами, используя API-интерфейсы самоанализа и обходя иерархию «родитель-потомок» QWidget. Довольно просто построить базовый; если вы хотите создать полноценный редактор свойств, это значительно больше работы. Вероятно, есть код, который вы можете использовать повторно, чтобы уменьшить объем работы - возможно, даже код инспектора свойств из Designer, хотя это может быть излишним. Из-за нехватки времени я никогда не заходил так далеко, как полноценный графический интерфейс. Я просто вывел иерархию и некоторые фиксированные свойства в стандартный вывод в виде текста или XML.

Полагаю, было бы правдоподобным сделать из этого многократно используемый компонент GUI, который можно было бы поместить в произвольное приложение, найти виджеты верхнего уровня и разрешить проверку всего, если у вас есть время и желание .

...