2011-01-10 124 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

相關問題