像这样调用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])
它给出错误:...非可选参数缺失
重载调用期望Qt中有QList<QVariant>
。我提供的列表是否由SIP自动映射到QList<QVariant>
?我可以手动创建吗?
因为我有18个args,所以我需要使用重载调用。
编辑:我也明确地将args转换为像这样的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])
干杯,
Jan
答案 0 :(得分:0)
您可以使用固定参数,然后是解压缩的参数列表:
params = ["test", 2, False]
my_comp.dynamicCall("MyMethod(QString, int, bool)", *params)