中文输入 rex → 主要通过拼音正则匹配来匹配字库字典{‘pinyin’:‘拼音’} → listWidget_chose(listwidget 匹配中文选项显示)→ 确认选择;
实现高效输入,还需要 优化匹配机制、字库(频率、时间等排序),升级为词库等;
键盘展示
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