3

ウィジェットの複雑な階層を持つアプリがあり、Spy ++と同様の方法で、この階層を参照し、プロパティ(サイズなど)を表示および編集できるようにしたいと考えています。この情報を表示できるウィジェットがある場合は、外部アプリで実行する必要はありません。それで問題は、そのような神話上の獣は存在するのかということです。

4

3 に答える 3

3

通常のアプローチは、イントロスペクションAPIを使用して、そのような獣を社内で構築し、QWidgetの親子階層をたどることです。基本的なものを作成するのは非常に簡単です。完全なプロパティエディタを構築したい場合は、かなり多くの作業が必要です。おそらく、作業を減らすために再利用できるコードがあります。おそらく、Designerのプロパティインスペクターコードでさえ、やり過ぎかもしれません。時間の制約のため、完全なGUIに到達したことはありません。階層といくつかの固定プロパティをテキストまたはXMLとしてstdoutにダンプしただけです。

これから再利用可能なGUIコンポーネントを作成し、任意のアプリにドロップして、トップレベルのウィジェットを探し、時間と傾向があればすべてを検査できるようにするのが妥当だと思います。

于 2010-10-28T12:40:52.857 に答える
3

スパイウィジェットと信号スロット、タイマーとリソースなどにGammarayを使用できます。GammarayはスパイQtアプリケーション用の非常に強力なツールです。

于 2014-08-12T06:39:33.397 に答える
0

ブラウザではありませんが、デバッグには役立ちます...

void QObject::dumpObjectTree() const

子のツリーをデバッグ出力にダンプします。

于 2019-10-31T10:42:45.160 に答える