Python 如何在tkinter中多次调用bind函数。

Python 如何在tkinter中多次调用bind函数。,python,user-interface,tkinter,Python,User Interface,Tkinter,每当用户输入空格时,我想在标签上打印一些东西。但我的代码只在第一次输入空格时打印一行,而不是在第一次输入空格之后 这是我的密码: from tkinter import * #LOOP_ACTIVE = True def func1(self): lsum["text"] = "space entered" #root.after(0, func1) root = Tk() T = Text(root, height=20, width=30) T.pack(side=R

每当用户输入空格时,我想在标签上打印一些东西。但我的代码只在第一次输入空格时打印一行,而不是在第一次输入空格之后

这是我的密码:

from tkinter import *
#LOOP_ACTIVE = True

def func1(self):
    lsum["text"] = "space entered"
    #root.after(0, func1)

root = Tk()


T = Text(root, height=20, width=30)
T.pack(side=RIGHT)
T.grid(row=0, column=1)
T.insert(END, "Just a text Widget\nin two lines\n")

v = IntVar()

a=Radiobutton(root, text="unigram", variable=v, value=1).grid(column=0,row=0)
b=Radiobutton(root, text="bigram", variable=v, value=2).grid(column=0,row=1)
c=Radiobutton(root, text="trigram", variable=v, value=2).grid(column=0,row=2)


T.bind("<space>",func1)

lsum = Label(root)
lsum.grid(row=0, column=2, sticky=W, pady=4)





root.mainloop()
从tkinter导入*
#循环_活动=真
def func1(自我):
lsum[“文本”]=“输入的空间”
#root.after(0,func1)
root=Tk()
T=文本(根,高度=20,宽度=30)
T.pack(侧面=右侧)
T.网格(行=0,列=1)
T.insert(结束,“只是一个文本小部件\n在两行中\n”)
v=IntVar()
a=单选按钮(根,text=“unigram”,变量=v,值=1)。网格(列=0,行=0)
b=单选按钮(root,text=“bigram”,变量=v,值=2)。网格(列=0,行=1)
c=单选按钮(根,text=“trigram”,变量=v,值=2)。网格(列=0,行=2)
T.bind(“,func1)
lsum=标签(根)
lsum.grid(行=0,列=2,粘性=W,pady=4)
root.mainloop()

请帮忙

刚刚添加了一个计数器,以便您查看代码是否正常工作

from tkinter import *
#LOOP_ACTIVE = True

count = 1
def func1(self):
    global count
    count += 1
    lsum["text"] = "space entered" + str(count)
    #root.after(0, func1)

root = Tk()


T = Text(root, height=20, width=30)
T.pack(side=RIGHT)
T.grid(row=0, column=1)
T.insert(END, "Just a text Widget\nin two lines\n")

v = IntVar()

a=Radiobutton(root, text="unigram", variable=v, value=1).grid(column=0,row=0)
b=Radiobutton(root, text="bigram", variable=v, value=2).grid(column=0,row=1)
c=Radiobutton(root, text="trigram", variable=v, value=2).grid(column=0,row=2)


T.bind("<space>",func1)

lsum = Label(root)
lsum.grid(row=0, column=2, sticky=W, pady=4)

root.mainloop()
从tkinter导入*
#循环_活动=真
计数=1
def func1(自我):
全局计数
计数+=1
lsum[“text”]=“输入的空格”+str(计数)
#root.after(0,func1)
root=Tk()
T=文本(根,高度=20,宽度=30)
T.pack(侧面=右侧)
T.网格(行=0,列=1)
T.insert(结束,“只是一个文本小部件\n在两行中\n”)
v=IntVar()
a=单选按钮(根,text=“unigram”,变量=v,值=1)。网格(列=0,行=0)
b=单选按钮(root,text=“bigram”,变量=v,值=2)。网格(列=0,行=1)
c=单选按钮(根,text=“trigram”,变量=v,值=2)。网格(列=0,行=2)
T.bind(“,func1)
lsum=标签(根)
lsum.grid(行=0,列=2,粘性=W,pady=4)
root.mainloop()

为什么您认为函数只被调用一次?您的代码没有问题。但是你打印的标签总是一样的。我如何每次都更新标签@progmatico@BryanOakley因为当用户第二次按空格时,不会打印任何内容!每次用户按空格键时,只需将标签设置为完全相同的内容。它不会附加到标签上。