• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 70, 文章 - 0, 評論 - 9, 引用 - 0
            數據加載中……

            Qt中根據拼音搜索漢字的問題

            解決思路:
            1  在數據庫中增加一個“漢字--拼音”的數據表;
            2  在QLineEdit輸入框中監聽到textChanged時,對于輸入的字母進行判斷處理:
                1)根據最后一個字母搜索到匹配的漢字;
                2)如果這個是第一個字母,那么根據這些漢字去查詢數據結果,如果查詢到,則計入內存(Hash表)中;如果不是第一個字母,就要根據前面的內存表再連接這個漢字列表來查詢數據結果,如果查詢到結果大于0個,則計入內存中。
            3  對于內存中已存在的結果,直接匹配數據庫,直接查詢數據庫結果。

            注意:如果遇到字符格式問題,請使用toLocal8Bit()方法。


            附上根據漢字獲取首字母的代碼:(參考:http://topic.csdn.net/u/20110627/15/dbb95eda-386d-4309-a482-d56955a5d6cd.html
            QString PinYinHelper::getChineseSpell(QString& src)
            {
             unsigned 
            char ucHigh, ucLow;
             
            int  nCode;
             QString strPinYin;
             
            for (int i=0; i<src.length(); i++)
             {
              ucHigh 
            = src[i].unicode();
              
            if (ucHigh < 0x80 )//英文字母
              {
               strPinYin.append(src[i]);
               
            continue;
              }
              ucLow  
            = src[i + 1].unicode();
              
            if ( ucHigh < 0xa1 || ucLow < 0xa1)
              {
               
            continue;
              }
              
            else
              {
               nCode 
            = (ucHigh - 0xa0* 100 + ucLow - 0xa0;
              }
              strPinYin.append(FirstLetter(nCode));
              i
            ++;
             }
             
            return strPinYin;
            }
            QString PinYinHelper::FirstLetter(
            int nCode)
            {
             
            if(nCode >= 1601 && nCode < 1637return "A";
             
            if(nCode >= 1637 && nCode < 1833return "B";
             
            if(nCode >= 1833 && nCode < 2078return "C";
             
            if(nCode >= 2078 && nCode < 2274return "D";
             
            if(nCode >= 2274 && nCode < 2302return "E";
             
            if(nCode >= 2302 && nCode < 2433return "F";
             
            if(nCode >= 2433 && nCode < 2594return "G";
             
            if(nCode >= 2594 && nCode < 2787return "H";
             
            if(nCode >= 2787 && nCode < 3106return "J";
             
            if(nCode >= 3106 && nCode < 3212return "K";
             
            if(nCode >= 3212 && nCode < 3472return "L";
             
            if(nCode >= 3472 && nCode < 3635return "M";
             
            if(nCode >= 3635 && nCode < 3722return "N";
             
            if(nCode >= 3722 && nCode < 3730return "O";
             
            if(nCode >= 3730 && nCode < 3858return "P";
             
            if(nCode >= 3858 && nCode < 4027return "Q";
             
            if(nCode >= 4027 && nCode < 4086return "R";
             
            if(nCode >= 4086 && nCode < 4390return "S";
             
            if(nCode >= 4390 && nCode < 4558return "T";
             
            if(nCode >= 4558 && nCode < 4684return "W";
             
            if(nCode >= 4684 && nCode < 4925return "X";
             
            if(nCode >= 4925 && nCode < 5249return "Y";
             
            if(nCode >= 5249 && nCode < 5590return "Z";
             
            return "";
            }

            posted on 2012-04-09 09:49 seahouse 閱讀(2933) 評論(0)  編輯 收藏 引用 所屬分類: Qt

            久久91这里精品国产2020| 久久久这里有精品| 久久精品无码一区二区WWW| 日韩久久无码免费毛片软件 | 久久久久国产一级毛片高清版| 国产精品久久久久AV福利动漫 | 久久婷婷久久一区二区三区| 国产精品久久成人影院| 亚洲国产成人久久一区久久| 99久久人妻无码精品系列蜜桃| 久久精品国产99国产电影网 | 久久精品国产精品亚洲| 国产午夜福利精品久久2021| 久久99热国产这有精品| 久久婷婷色香五月综合激情| 久久人妻少妇嫩草AV无码专区| 久久一本综合| 国产亚洲精午夜久久久久久| 久久亚洲日韩看片无码| 精品久久久久中文字| 亚洲成色WWW久久网站| 少妇人妻综合久久中文字幕| 国产婷婷成人久久Av免费高清| 狠狠色丁香久久婷婷综合蜜芽五月 | 久久久久波多野结衣高潮| 国产成人精品久久综合| 国内精品伊人久久久久| 久久久国产视频| 天堂无码久久综合东京热| 久久综合久久综合久久| 久久一日本道色综合久久| 久久亚洲日韩精品一区二区三区| 日韩AV毛片精品久久久| 久久久受www免费人成| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 国产成人久久激情91| 久久九九久精品国产免费直播| 人妻系列无码专区久久五月天| 成人亚洲欧美久久久久| 四虎国产精品免费久久5151| 97久久精品无码一区二区|