1

次のように QAxBase.dynamicCall を呼び出します。

my_comp.dynamicCall("MyMethod(const QString&, int, bool)", "test", 2, False)

ただし、オーバーロードされた呼び出し ( http://qt-project.org/doc/qt-4.8/qaxbase.html#dynamicCall-2 ) を使用しても、次のことはできません。

my_comp.dynamicCall("MyMethod(const QString&, int, bool)", ["test", 2, False])

エラーが発生します:...オプションではないパラメーターがありません

オーバーロードされた呼び出しは、QList<QVariant>Qt で a を想定しています。私が提供したリストは自動的にQList<QVariant>SIP によって にマッピングされますか? 手動で作成できますか?

引数が 18 個あるので、オーバーロードされた呼び出しを使用する必要があります。

編集: このように引数を明示的に QVariant に変換しましたが、同じ問題です。

args = ["test", 2, False]
q_var_args = [QVariant(arg) for arg in args]
my_comp.dynamicCall("MyMethod(const QString&, int, bool)", ["test", 2, False])

乾杯、

1月

4

1 に答える 1

0

固定パラメーターの後に、展開されたパラメーターのリストを続けることができます。

 params = ["test", 2, False]
 my_comp.dynamicCall("MyMethod(QString, int, bool)", *params)
于 2012-11-18T23:59:03.447 に答える