我正在开发一个应用程序,除其他外,用户将创建个人资料,包括日期、电话号码和身份证号码等项目。我想对其进行设置,以便在用户键入数据时对其进行格式化(例如,在标识号的适当位置添加破折号。如果用户正确键入,一切正常,但如果你必须返回,有几个地方出错了。首先,添加的破折号不会随着按退格键而删除。其次,如果您在破折号后面并更正数字,则会在不属于它们的地方添加额外的破折号。
这是片段:
from Tkinter import *
class App:
def __init__(self, master):
self.label = Label(text="ID#: ")
self.entry = Entry()
self.label.grid(row=0, column=0)
self.entry.grid(row=0, column=1)
self.entry.focus_set()
root.bind('<Key>', self.formatData)
def formatData(self, master):
currentData = self.entry.get()
if len(currentData) == 3:
self.entry.insert(3, '-')
elif len(currentData) == 6:
self.entry.insert(6, '-')
root = Tk()
app = App(root)
root.mainloop()
任何帮助将不胜感激。谢谢。