简单中文输入法实现

虚拟键盘实现中文输入法

  1. 实现虚拟键盘UI;
  2. 输入内容逻辑关联;
  3. 中文输入 rex → 主要通过拼音正则匹配来匹配字库字典{‘pinyin’:‘拼音’} → listWidget_chose(listwidget 匹配中文选项显示)→ 确认选择;
  4. 实现高效输入,还需要 优化匹配机制、字库(频率、时间等排序),升级为词库等
  5. 键盘展示在这里插入图片描述
    def select_list(self):
        rex = unicode(self.pinkey.lineEdit_input.text(), 'utf-8', 'ignore')
        self.pinkey.listWidget_chose.clear()
        if self.changeLangue == 'CH':
           try:
               f = open('syszuxinpinyin', 'r')
               word_dic = [(re.findall('\w+', line)[0], re.findall('\W+', line)[0])
                                 for line in f.readlines() if re.findall('\w+', line)]
               for k, v in word_dic:
                   if re.match(rex, k):
                       self.pinkey.listWidget_chose.addItems([_fromUtf8(each) for each in v.decode('utf-8')])

           except Exception:
               print str(Exception)
           finally:
               f.close()
               rex = ''
               return
        else:
           self.pinkey.lineEdit_result.setText(self.pinkey.lineEdit_input.text())
           self.word_set = self.pinkey.lineEdit_input.text()
        return

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值