私は、とりわけ、ユーザーが日付、電話番号、ID 番号などの項目を含むプロファイルを作成するアプリに取り組んでいます。ユーザーが入力したときにデータがフォーマットされるように設定したいと思います(たとえば、識別番号の適切な場所にダッシュを追加します。ユーザーが正しく入力した場合、すべてがうまくいきますが、元に戻らなければならない場合, いくつか問題があります. 第一に, 追加されたダッシュはバックスペースを押しても削除されません. 第二に, ダッシュの後ろに隠れて数字を修正すると, ダッシュが属していない場所に余分なダッシュが追加されます.
スニペットは次のとおりです。
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()
どんな助けでも大歓迎です。ありがとう。