На дисплее метки (другая область приложения) я хочу, чтобы семнадцатизначный VIN был анализируется, поэтому я могу быстро идентифицировать восьмой символ и последние восемь символов. Восьмое — код двигателя. Последние восемь используют дилерские центры при поиске запчастей.
Мне кажется, было бы проще объединить семнадцать отдельных символов и добавить пробелы там, где я хочу, чем это было бы взять семнадцатизначную строку и проанализировать ее.
Итак я решил, что семнадцать отдельных полей ввода — правильный путь. Но утомительно нажимать табуляцию после каждого символа, чтобы перейти к следующему полю. Следовательно, я бы хотел, чтобы как только я ввожу символ в первое поле, он автоматически переходил во второе. Как только я ввожу символ во втором, он автоматически переходит к третьему. И так далее. Таким образом, я могу просто ввести VIN.
У меня нет проблем с изготовлением коробок или с тем, чтобы они работали. Но я еще недостаточно хорошо знаю Python, чтобы понять, какую функцию событий мне нужно создать, чтобы получить желаемый эффект.
Я новичок. Насколько это возможно, дайте мне предварительную алгебру, а не исчисление, если вы уловили мою мысль.
Я пробовал работать с этим:
Код: Выделить всё
def advnum1(event):
entry = event.widget
if len(entry.get()) == entry.get_max_length():
next_widget = entry.tkinter_focusNext()
if next_widget:
next_widget.focus()
fnumbox1 = tkinter.Entry(master=cstinfofrmfg, justify="center", bg="#b2b4b7", fg="#000000", width=4)
fnumbox1.place(x=112, y=181.5)
fnumbox1.bind("", advnum1)
fnumbox2 = tkinter.Entry(master=cstinfofrmfg, justify="center", bg="#b2b4b7", fg="#000000", width=4)
fnumbox2.place(x=144, y=181.5)
fnumbox3 = tkinter.Entry(master=cstinfofrmfg, justify="center", bg="#b2b4b7", fg="#000000", width=5)
fnumbox3.place(x=176, y=181.5)
Подробнее здесь: https://stackoverflow.com/questions/791 ... sor-automa
Мобильная версия