Squish フレームワークを使用して Qt アプリケーションの自動テストをスクリプト化しています。Squish IDE の Spy は、「スパイ ピッカー」で選択された Qt ウィジェットのプロパティとメソッドを表示できます。Spy パースペクティブで、ウィンドウ -> ビューの表示 -> メソッドを有効にします。
void setParent(QObject*)
メソッドビューで、メソッド名、戻り値、パラメーターの型のようなものを見ることができます。
Python テスト スクリプトからの実行時に、たとえばisActiveWindow -> true
を呼び出して、ウィジェットのプロパティを取得できます。
aWidget = waitForObject("...")
aMap = object.properties( aWidget )
ウィジェット メソッドは Python から利用できます。たとえば、次のように呼び出すことができます。
>>> aWidget.isModal()
0
しかし、IDE のメソッド ビューのように、ウィジェット メソッド シグネチャのリストを取得するにはどうすればよいでしょうか。私が思いついたのは
>>> dir(this)
['BackButtonPressed', 'ButtonPressed', ...
ただし、もちろん、シグネチャではなくメソッド名のみをリストしています。宣言されたパラメーターの型や戻り値の型はありません。Spy はどういうわけか署名を取得しますが、実行時に Python から署名を取得するにはどうすればよいですか?