我创建了一些简单的函数来限制我的输入,但是我有点卡住了:首先def lowercase_letter_entry
不起作用,并且不编辑小写字母。其次,仅起作用一次的功能,在此之后它们就没有用了。我确实尝试使用for
和while true
解决此问题,但我仅设法使警告消息重复了无限的时间。我也知道这是一个愚蠢的问题,但现在我正在使用在需要的变量中更改my_entry的函数。有没有一种方法可以使def“中立”并使它们与我的所有条目一起使用而无需编辑名称? (希望我能有所启发。
import tkinter
from tkinter import messagebox
def lowercase_letter_entry(P):
if P.isalpha() or P == "":
if P.islower():
return True
else:
if not P.islower():
P.get()lower()
return True
else:
messagebox.showwarning("Warning","Only letters are allowed")
return False
谢谢,祝您有美好的一天!
验证功能必须始终返回True
或False
,否则它将禁用自身。在许多情况下,它将返回None
。
是否有一种方法可以使def“中立”并使它们在我的所有条目中工作而无需编辑名称?
默认情况下就是这样。您不应该在函数内部调用my_entry.get()
。您的P
参数包含您应该针对其进行验证的字符串,无需显式获取它。