我正在爲tkinter & python中的文本編輯器創建自動完成功能。 目前自動完成的過程如下:tkinter彈出窗口和文本處理自動完成
如果有像自動完成詞典中的輸入,請撥打popup
。
我這樣做通過t_start.bind("<Key>", asprint)
其中asprint
是我的彈出功能。 我可以通過轉義按鈕或通過點擊其他地方逃避彈出。 我想要的是 - 在用戶按任意文本鍵時 - 再次重新觸發彈出窗口,縮小自動完成中的搜索範圍。
F-> FI-> FIL->文件
之類的事情。我不知道用什麼來獲得輸入,在彈出窗口打開後。我如何得到第二個和每個後續輸入字符?
彈出功能:
def popup(event):
selected_text=''
try:
selected_text=t_start.get("sel.first", "sel.last")
except TclError:
for i in range(len(selected_text)):
if selected_text[i:0]==word[i:0]:
menu.add_command(label="%s" %selected_text, command=insert_word)
menu.delete(0)
else:
pass
menu.tk_popup(event.x_root, event.y_root)
你的彈出功能是什麼樣的? – atlasologist
剛剛添加到問題 – kaboom