如何在tkinter的禁用entry小部件中插入值

3

我试图在 tkinter entry 被禁用时插入值。我希望在 entry widget 中的值不被删除。我已经查看了这个网站,寻找类似的问题来解决,但是没有找到。

from tkinter import ttk
import tkinter as tk


blow = [("january", "2013")]


def func():
    for child in tree.get_children():
        sum =(tree.item(child, "values")[1])
        e1.delete(0, tk.END)
        e1.insert(0, sum)
        print(sum)


root = tk.Tk()
root.geometry("400x300")

tree = ttk.Treeview(columns=("columns1", "columns"), show="headings",
selectmode="browse")
tree.heading("#1", text="Month")
tree.heading("#2", text="Year")

for n in blow:
    tree.insert("", tk.END, values=(n))
tree.pack()

b1 = tk.Button(text="insert", command=func)
b1.pack()

e1 = tk.Entry()
e1.config(state="disable")
e1.pack()

root.mainloop()

启用它,插入值,禁用它。 - Bryan Oakley
1个回答

7
我发现一种方法来满足这个需求,需要通过使用config来启用entry,之后再disable它。
def func():
    for child in tree.get_children():
        sum = (tree.item(child, "values")[1])
        e1.config(state="normal")
        e1.delete(0, tk.END)
        e1.insert(0, sum)
        print(sum)
        e1.config(state="disable")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接