我正在尝试以交互方式验证tkinter中的条目小部件,以仅允许用户在字母表中输入字符。 我已经阅读了一个非常受欢迎的帖子(Interactively validating Entry widget content in tkinter),并且我已经尝试找出我的解决方案,但我似乎无法让它工作。 在该线程的评论是一个只允许数字的解决方案,我已经在我的程序的一个区域使用它,它的工作完美!代码在这里:
from tkinter import *
root = Tk()
def testVal(inStr,i,acttyp):
ind=int(i)
if acttyp == '1': #insert
if not inStr[ind].isdigit():
return False
return True
entry = Entry(root, validate="key")
entry['validatecommand'] = (entry.register(testVal),'%P','%i','%d')
entry.pack()
root.mainloop()
我想要一个像这样的解决方案,唯一的变化就是它接受字母而不是数字。任何帮助表示赞赏
答案 0 :(得分:1)
以下是您正在寻找的解决方案:
def testVal(inStr,i,acttyp):
ind=int(i)
if acttyp == '1': #insert
if not inStr[ind].isalpha():
return False
return True
还有其他一些可能有用的东西:
.isdigit()
测试字符串是否为整数.isalpha()
测试字符串是否只包含字母.isalnum()
测试字符串是否只包含字母和数字.isupper()
测试大写.islower()
测试小写对于其他数据类型,您可以使用isinstance()
,例如isinstance("34.5", float)
将返回True