(Python)如何将输入框限制为最多2个字符

时间:2015-11-04 10:08:41

标签: python tkinter

我目前正在制作输入表单,并且需要一个输入框限制为2个字符。我该怎么做?

    #Date+time day entry boxes
    day_entry1=Entry(List1, bg="#282B2B", fg="white", width=2)
    day_entry1.place(x=77, y=58)

1 个答案:

答案 0 :(得分:1)

我想您正在使用Tkinter创建图形界面。在这种情况下,解决方案是使用StringVar()。这就像一个字符串变量,但是当它们被改变时它们可以调用一个函数。所以这就是一个例子:

def limitSizeDay(*args):
    value = dayValue.get()
    if len(value) > 2: dayValue.set(value[:2])

dayValue = StringVar()
dayValue.trace('w', limitSizeDay)

day_entry1=Entry(List1, bg="#282B2B", fg="white", width=2, textvariable=dayValue)
day_entry1.place(x=77, y=58)

所以基本上你创建一个函数来读取和检查日期值的长度。此函数称为limitSizeDay。然后定义一个名为dayValue的StringVar实例。你将一个函数“绑定”(调用跟踪方法)到dayValue,当更改内容时会触发该函数。最后,当您创建Entry小部件时,设置textvariable = dayValue。这会将dayValue绑定到窗口小部件,它基本上使dayValue存储在条目中写入的任何内容。

希望这可以解决它并解释有关StringVar类的一些概念。