【问题标题】:Tkinter AutoEntry [duplicate]Tkinter AutoEntry [重复]
【发布时间】:2020-04-23 01:16:52
【问题描述】:

我正在尝试在 Tkinter 中进行 AutoEntry(在您进行研究时获取单词列表以提供像 Google 一样的自动完成功能)。但是,我似乎在网上找不到任何简单的例子。

本教程在开头提到了 AutoEntry (http://appjar.info/inputWidgets/),但没有提供示例。

这是我想创建的 AutoEntry 示例: example

谁有初学者的例子?

【问题讨论】:

  • here 是自动完成的一个例子。
  • 谢谢。但是一定要那么难吗? Tkinter 中没有用于自动完成的内置函数?
  • 不,tkinter 没有内置功能来自动完成。

标签: python python-3.x tkinter tkinter-entry


【解决方案1】:

这里有一些东西,我想你正在寻找... 并且您会以按钮的形式获得建议,以便您从中进行选择。

from tkinter import *
from tkinter import ttk
root = Tk()
l = ['den', 'do', 'dear', 'disco', 'dream']

def select(w):
    global e, f
    e.delete(0, END)
    e.insert(0, w)
    f.destroy()

def callback(sv):
    global f
    f.destroy()
    f = Frame(root)
    f.pack()
    for words in l:
        entry = e.get()
        print(entry)

        x = words
        y = ''
        for c in x:
            if x.isalpha():
                y += c
                if y == entry:
                    Button(f, text=words, command=lambda word=words: select(word)).grid(sticky=W+E)
                    #Label(f, text=words).pack()
                    print(words)


sv = StringVar()
sv.trace("w", lambda name, index, mode, sv=sv: callback(sv))
e = Entry(root, textvariable=sv)
e.pack()

f = Frame(root)
f.pack()


root.mainloop()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2019-03-22
    • 2016-07-21
    相关资源
    最近更新 更多