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

            精品一久久香蕉国产线看播放 | 亚洲国产成人久久综合区| 99久久精品国产综合一区| 国产精品美女久久久免费| 国产精品伊人久久伊人电影| 久久香蕉国产线看观看猫咪?v| 成人综合久久精品色婷婷| 久久精品www人人爽人人| 国内精品久久久久久麻豆| 久久婷婷五月综合成人D啪 | 国产高清美女一级a毛片久久w| 久久久久亚洲AV无码专区网站 | 91精品国产9l久久久久| 亚洲精品WWW久久久久久| 亚洲精品高清国产一线久久| 国内精品伊人久久久久av一坑| 亚洲欧美一级久久精品| 久久无码av三级| 人妻少妇久久中文字幕一区二区 | 国产成人综合久久精品尤物| 久久久久亚洲av综合波多野结衣| 精品国产VA久久久久久久冰 | 久久精品水蜜桃av综合天堂| 色综合久久久久综合99| 91麻豆精品国产91久久久久久| 久久精品国产99国产精品亚洲 | 中文精品99久久国产 | yellow中文字幕久久网| 久久国产欧美日韩精品| 日本久久久久亚洲中字幕| 久久狠狠爱亚洲综合影院| 亚洲国产精品综合久久一线| 日本免费久久久久久久网站| 久久久久久毛片免费播放| 亚洲女久久久噜噜噜熟女| 99久久国产综合精品女同图片| 久久无码高潮喷水| 中文字幕热久久久久久久| 亚洲AV无码久久精品蜜桃| 久久丫精品国产亚洲av不卡| 成人免费网站久久久|