jjzjj

QGenericArgument

全部标签

c++ - 使用可变数量的参数调用 QMetaObject::invokeMethod()

我目前正在移植FitNesse的Slim服务器,但我现在有点卡住了。我得到的是像这样的字符串:("id_4","call","id","setNumerator","20")("id_5","call","id","setSomethingElse","10","8")其中“setNumerator”和“setSomethingElse”是应该调用的方法的名称,“20”、“10”和“8”是我传递的参数。所以我现在的问题是,我不知道如何为这两种方法使用one调用invokeMethod。我当前的解决方法如下所示://(ifinstructionLength==5)metaObj->inv

c++ - Qt在网络上的信号/槽机制

我希望能够通过网络发送Qt信号。使用Qt的元类型系统序列化信号调用非常简单:使用静态方法::fromSignal创建一个qMetaMethod使用创建的元方法获取方法名称、参数名称、它们的typeIds[1]和值。将所有内容打包成您喜欢的格式(JSON、XML)并发送。但到目前为止,我无法弄清楚如何使用序列化数据调用信号:QMetaObject::invokeMethod(..)将信号/方法名称作为字符串。问题是参数:它们必须作为QGenericArgument提供,并且只能通过使用需要实际类型的Q_ARG宏来创建(不是它的名称的字符串或typeId)和相关值。此外,参数的数量必须在编