QMetaObject::invokeMethod: No such method 解决方法

使用如下方法调用某对象的方法时,容易出现No such method
QMetaObject::invokeMethod(m_obj,ch,Q_ARG(QVariant, m_value));
在这里插入图片描述
产生的原因有两个:
1、被调用的方法应增加Q_INVOKABLE声明。注意,要调用的类型必须是信号、槽,以及Qt元对象系统能识别的类型, 如果不是信号和槽,可以使用qRegisterMetaType()来注册数据类型。此外,使用Q_INVOKABLE来声明函数,也可以正确调用。
2、被调用的方法的参数类型必须严格一致。

更进一步了解QMetaObject::invokeMethod,请参考https://blog.csdn.net/luoyayun361/article/details/97915133

你可能感兴趣的:(qt,qt,开发语言)