Python tkinter提交按钮手柄功能只有一次,除非给出不同的输入
我是tkinter的新手,这是一个简单的方法,但我不知道怎么做。我想创建一个提交按钮,如果相同的用户输入被给予,并再次提交按钮将禁用,但如果新的输入被给予,它将执行其功能。有人能帮我吗?如果我理解这个问题,谢谢你-你必须创建一个列表来记住提交的数据并用新的输入检查它Python tkinter提交按钮手柄功能只有一次,除非给出不同的输入,python,tkinter,Python,Tkinter,我是tkinter的新手,这是一个简单的方法,但我不知道怎么做。我想创建一个提交按钮,如果相同的用户输入被给予,并再次提交按钮将禁用,但如果新的输入被给予,它将执行其功能。有人能帮我吗?如果我理解这个问题,谢谢你-你必须创建一个列表来记住提交的数据并用新的输入检查它 import tkinter as tk # --- functions --- def submit(): data = e.get() if data in already_submitted:
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()
您尝试过什么?在没有看到您的尝试的情况下,这只是“为我编写代码”类型的问题,这不是问题的目的。显示您的代码。您必须创建包含已提交数据的列表,并与新输入进行比较,然后禁用提交。非常感谢您之前的回答,我不得不创建已提交数据的列表。这已经足够了。