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

1 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)
Run Code Online (Sandbox Code Playgroud)

Dor*_*scu 5

我想您正在使用 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)
Run Code Online (Sandbox Code Playgroud)

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

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