2011-01-10 18 views
2

一度.NET Reflectorという素晴らしいツールを見たことがあります。 .Netバイナリ/アプリケーションのオブジェクト階層全体を表示することができます(この用語が間違っているとすみませます)。 Qtのようなものはありますか? Qtは非常に優れたQMetaObject能力を持っているので、オブジェクトツリー、メソッド(スロット)の呼び出し、プロパティの変更などが可能でなければなりません。変数の命名はドメイン固有のものであり、私はこのドメインの専門家ではありません。したがって、ウィジェット変数を画面上のウィジェットにマップすることは難しいです。そのようなツールは、コードを理解するのに非常に役立ちます。.NET Reflector for Qtのようなものがありますか?

ありがとうございます!シンプルの場合

答えて

1

QSpyプロジェクトがあります。実行中のアプリケーションのすべてのQWidgetsを検査します。私はMac OS Xでそれを使用することができなかったので、どのくらいうまく動作しているのか分かりません。 https://github.com/sashao/martlet http://qt-apps.org/content/show.php/QSpy?content=102287

+0

ありがとうございます。 .Net Reflectorほど成熟していないようですが、何よりもベターであり、そこにコードがあります! –

2

あなたがkspy kspy

があります、より高度なものが必要な場合はQObject::dumpObjectTree()

を見てみたいかもしれません使用しています。 のQt/KDEアプリKSpyの内部状態を調べグラフィックスに使用できる小さなライブラリ Qt/KDEアプリ で使用中のQObjectを表示します。オブジェクト ツリーに加えて、 QObjectの プロパティ、シグナル、およびスロットを表示することもできます。基本的には と同じ情報をQMC :: dumpObjectTree()と QObject :: dumpObjectInfo()と と同じ情報を提供しますが、より便利な形式の です。 KSpyライブラリにはKLibLoaderを使用して動的に がロードされるため、アプリケーションの最小オーバーヘッドは です。使用方法については、 /share/doc/kspy/READMEを参照してください( )。このパッケージはKDEソフトウェア開発キット の一部です。

これはKDEのklibloaderに依存しています。あなたがKDEを使用していない場合は、変更する必要がありますが、それは簡単です。ソースはhereです。

関連する問題