我目前正在制作一个输入表单,需要一个输入框限制为 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)
我想您正在使用 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 类的一些概念。