#python #tkinter
#python #tkinter
Вопрос:
Когда я нажимаю клавишу tab и когда курсор меняет запись, он мгновенно удаляет текст внутри, но в моем случае он совпадает с текстом, а затем удаляется. Как удалить вставленный текст, когда курсор изменяет запись, например, в случае сопоставления с ней? Первый эффект:
Код
def func(event):
e2.delete(0, "end")
#e2 - entry password
e2.bind("<Tab>",func)
Комментарии:
1. Показывает ли изображение результат переключения фокуса с
username
записи наpassword
запись нажатиемtab
клавиши? Если да, то это обычный результат, основанный на вашем опубликованном коде. Чего именно вы хотите в этом случае?2. да, и когда я нажимаю tab еще раз, он удаляет текст, но мне нужно, чтобы он сдвигался, как только он мгновенно удалялся
3. Тогда вы должны привязать на
<FocusIn>
вместо<Tab>
.4.
e2.bind('<FocusIn>',lambda event: e2.delete(0,END))
Работает ли это?5. Да, это тоже работает!!!
Ответ №1:
Когда у вас есть несколько записей, и вы нажимаете, Tab
вы переходите от виджета к другому и e1
теряете фокус и e2
набираете фокус, так почему бы вам не попробовать:
e2.bind('<FocusIn>',lambda event: event.widget.delete(0,END))
Или, если вы хотите использовать свой func()
, тогда скажите:
def func(event):
event.widget.delete(0,END)
e2.bind('<FocusIn>',func)
Вы также могли бы сделать наоборот тоже
Дайте мне знать, если возникнут какие-либо ошибки или сомнения
Приветствия
Комментарии:
1. Лучше использовать
event.widget.delete(0, END)
вместоe2.delete(0, END)
, тогдаfunc()
можно привязать к разным полям ввода.