Tkinter中的限制条目

问题描述 投票:1回答:1

我创建了一些简单的函数来限制我的输入,但是我有点卡住了:首先def lowercase_letter_entry不起作用,并且不编辑小写字母。其次,仅起作用一次的功能,在此之后它们就没有用了。我确实尝试使用forwhile 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

谢谢,祝您有美好的一天!

python tkinter limit tkinter-entry
1个回答
1
投票

验证功能必须始终返回TrueFalse,否则它将禁用自身。在许多情况下,它将返回None

是否有一种方法可以使def“中立”并使它们在我的所有条目中工作而无需编辑名称?

默认情况下就是这样。您不应该在函数内部调用my_entry.get()。您的P参数包含您应该针对其进行验证的字符串,无需显式获取它。

© www.soinside.com 2019 - 2024. All rights reserved.