#include "fnpinyin.h" FnPinYin::FnPinYin(QObject *parent) : QObject(parent) { } void FnPinYin::loadData() { QFile file(":/api/pinyin/pinyin.json"); file.open(QIODevice::ReadOnly); QByteArray data=file.readAll(); QJsonDocument jdoc=QJsonDocument::fromJson(data); QJsonObject jobj=jdoc.object(); QVariantMap jmap=jobj.toVariantMap(); QVariantMap::iterator it=jmap.begin(); for(;it!=jmap.end();it++) { QString s=it.key(); s=getFirstLetter(s); QVariantList values=it.value().toList(); for(auto v:values) { m_jianpins.insert(v.toString(),s); } } file.close(); } QString FnPinYin::getJianPin(QString s) { QString ret; for(int i=0;i=0) { return "a"; }else if (o.indexOf(p)>=0) { return "o"; }else if (e.indexOf(p)>=0) { return "e"; }if (i.indexOf(p)>=0) { return "i"; } if (u.indexOf(p)>=0) { return "u"; } if (v.indexOf(p)>=0) { return "v"; } else { return p; } }