Python tkinter提交按钮手柄功能只有一次,除非给出不同的输入

Python tkinter提交按钮手柄功能只有一次,除非给出不同的输入,python,tkinter,Python,Tkinter,我是tkinter的新手,这是一个简单的方法,但我不知道怎么做。我想创建一个提交按钮,如果相同的用户输入被给予,并再次提交按钮将禁用,但如果新的输入被给予,它将执行其功能。有人能帮我吗?如果我理解这个问题,谢谢你-你必须创建一个列表来记住提交的数据并用新的输入检查它 import tkinter as tk # --- functions --- def submit(): data = e.get() if data in already_submitted:

我是tkinter的新手,这是一个简单的方法,但我不知道怎么做。我想创建一个提交按钮,如果相同的用户输入被给予,并再次提交按钮将禁用,但如果新的输入被给予,它将执行其功能。有人能帮我吗?如果我理解这个问题,谢谢你-你必须创建一个列表来记住提交的数据并用新的输入检查它

import tkinter as tk

# --- functions ---

def submit():
    data = e.get()

    if data in already_submitted:
        print('Sorry already submitted:', data)
    else:    
        print('Submit:', data)
        already_submitted.append(data)

# --- main ---

# don't submit empty string        
already_submitted = ['']

root = tk.Tk()

e = tk.Entry(root)
e.pack()

b = tk.Button(root, text="Submit", command=submit)
b.pack()

root.mainloop()

顺便说一句:您还可以
bind()
函数到
条目
并在每次
和禁用/启用按钮后检查输入

import tkinter as tk

# --- functions ---

def submit():
    data = e.get()

    if data in already_submitted:
        print('Sorry already submitted:', data)
    else:    
        print('Submit:', data)
        already_submitted.append(data)
        b['state'] = 'disable'

def check(event):
    #data = event.widget.get()
    data = e.get()

    if data in already_submitted:
        b['state'] = 'disable'
    else:
        b['state'] = 'normal'

# --- main ---

# don't submit empty string        
already_submitted = ['']

root = tk.Tk()

e = tk.Entry(root)
e.pack()
e.bind('<KeyRelease>', check)

b = tk.Button(root, text="Submit", command=submit, state='disable')
b.pack()

root.mainloop()
将tkinter作为tk导入
#---功能---
def submit():
data=e.get()
如果已提交中的数据:
打印('抱歉已提交:',数据)
其他:
打印('提交:',数据)
已提交。追加(数据)
b[“状态”]=“禁用”
def检查(事件):
#data=event.widget.get()
data=e.get()
如果已提交中的数据:
b[“状态”]=“禁用”
其他:
b[“状态”]=“正常”
#---梅因---
#不要提交空字符串
已提交=['']
root=tk.tk()
e=传统条目(根)
e、 包()
e、 绑定(“”,检查)
b=tk.按钮(root,text=“Submit”,command=Submit,state='disable')
b、 包()
root.mainloop()

您尝试过什么?在没有看到您的尝试的情况下,这只是“为我编写代码”类型的问题,这不是问题的目的。显示您的代码。您必须创建包含已提交数据的列表,并与新输入进行比较,然后禁用提交。非常感谢您之前的回答,我不得不创建已提交数据的列表。这已经足够了。