• <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 閱讀(2929) 評論(0)  編輯 收藏 引用 所屬分類: Qt

            久久精品免费大片国产大片| 精品国产乱码久久久久软件| 久久97精品久久久久久久不卡| 成人综合伊人五月婷久久| 亚洲国产精品久久久久| 久久久国产一区二区三区| 久久天天躁狠狠躁夜夜不卡 | 久久人妻无码中文字幕| 久久亚洲日韩精品一区二区三区| 久久66热人妻偷产精品9| 久久性精品| 久久精品国产亚洲沈樵| 亚洲欧洲中文日韩久久AV乱码| 色综合久久久久综合体桃花网 | 99精品久久精品一区二区| 97久久精品无码一区二区天美| 久久九九久精品国产| 久久久久亚洲Av无码专| 久久影视综合亚洲| 97热久久免费频精品99| 亚洲色欲久久久综合网东京热| 国内精品久久久久久久coent| 久久久国产精华液| 久久久久亚洲av毛片大| 国产精品久久久久9999| 精品国产青草久久久久福利| 久久精品国产一区二区电影| 久久国产精品99久久久久久老狼| 7777精品伊人久久久大香线蕉| 亚洲综合精品香蕉久久网97| 久久久久99精品成人片直播| 久久WWW免费人成一看片| 日韩电影久久久被窝网| 99久久久久| 久久精品国产亚洲Aⅴ蜜臀色欲 | 少妇久久久久久被弄到高潮| 一级做a爰片久久毛片人呢| www.久久热.com| 国产精品久久国产精品99盘| 久久99精品久久只有精品| 色偷偷88888欧美精品久久久|