#python #tkinter #raspberry-pi #touchscreen #raspberry-pi3
#python #tkinter #raspberry-pi #сенсорный экран #raspberry-pi3
Вопрос:
Я создаю программу на Raspberry Pi с сенсорным дисплеем. Я использую Python Tkinter, который имеет два виджета ввода и один на экранной клавиатуре. Я хочу использовать одну и ту же клавиатуру для ввода данных в обоих виджетах ввода.
Может кто-нибудь сказать мне, как я могу проверить, выбрана ли запись? Аналогично щелчку по записи с помощью мыши, и появляется курсор. Как я могу узнать это в Python Tkinter?
Спасибо.
Ответ №1:
Всегда есть виджет с фокусом клавиатуры. Вы можете запросить это с focus_get
помощью метода корневого окна. Он вернет любой виджет с фокусом клавиатуры. Это окно, которое должно получать ввод с вашей клавиатуры.
Ответ №2:
Вы можете использовать события и привязки, чтобы перехватывать события FocusIn для ваших записей.
entry1 = Entry(root)
entry2 = Entry(root)
def callback_entry1_focus(event):
print 'entry1 focus in'
def callback_entry2_focus(event):
print 'entry2 focus in'
entry1.bind("<FocusIn>", callback_entry1_focus)
entry2.bind("<FocusIn>", callback_entry2_focus)
Комментарии:
1. Спасибо за ваши ответы. Оба работали, но я использовал <FocusIn> , потому что он немедленно вызывает функцию обратного вызова, что делает его очень удобным. Спасибо за вашу помощь