是否可以将字符串(QString)从文字转换为函数并调用它?
例如,我有一个包含“ clicked”的字符串,我想将其转换为一个函数并调用它,例如:
eval("clicked")()
答案 0 :(得分:1)
您当然可以:实际上,您有2个选择,
使用字符串,函数创建Map。并通过键获取值并调用它
或(稍微复杂一点)
方法必须是继承QObject类的类 并且方法是插槽或“可调用”功能,
,您需要使用
QMetaObject :: invokeMethod方法...
示例:
FOO::MyClass obj;
QMetaObject::invokeMethod(&obj, "foo", Qt::DirectConnection);