根据不同的消息类型发送不同的信号,信号的参数类型相同。
定义一个函数指针的类型
typedef void (类名::*procHandleQJson) (QJsonArray);
该类型作为map的值
QMap<QString,procHandleQJson> map;
收到消息统一根据key派发
void dispatchMsgQJson(QJsonArray array)
{
if(array.size() == 0)
return;
procHandleQJson pFunc = map[array.at(0).toString()];
if(pFunc)
{
(this->*pFunc)(array);
}
}