我一直在开发一个命令行工具,现在我想制作一个基于PyQT的GUI界面。我想把我目前使用readline模块实现的自动补全功能放到QLineEdit文本框中,这个可行吗?你有什么建议吗?
下面是我使用readline模块的示例:
下面是我使用readline模块的示例:
import readline
values = ['these','are','my','autocomplete','words']
completions = {}
def completer(text,state):
try:
matches = completions[text]
except KeyError:
matches = [value for value in values if text.upper() in value.upper()]
completions[text] = matches
try:
return matches[state]
except IndexError:
return None
readline.set_completer(completer)
readline.parse_and_bind('tab: menu-complete')
whie 1:
text = raw_input('> ')
text.dostuff()
如果我无法在QLineEdit小部件中使用readline模块,我最终希望完成的是一个单词列表,具有多个单词,可以用符号如+-*/()等分隔。
谢谢!
\s
表示“空格字符”,然后是您提到的其他明确字符。您只需将它们添加到该括号部分即可。 - jdi