Команда Tkinter привязывает команду к задержке ListboxPython

Программы на Python
Anonymous
Команда Tkinter привязывает команду к задержке Listbox

Сообщение Anonymous »

недавно я сделал глобальную функцию для своей программы (вместо многих локальных функций), которая при нажатии на элемент списка -> она помещает его текст внутрь виджета ввода, что-то вроде метода «автозаполнения» (как на изображении )..
Проблема, с которой я столкнулся, заключается в том, что теперь, когда я объединил локальные функции «автозаполнения» в одну глобальную, возникает задержка на одну итерацию между элементом списка, который вы щелкаете, и текстом, который он будет вывод вам в виджете «Ввод».
Новая функция:

Код: Выделить всё

   @staticmethod
def fill_by_click(ui_element, event, listbox):
ui_element.delete(0, END)
ui_element.insert(END, listbox.get(ACTIVE))

def somefunction(self):
self.functions_list.bind('', lambda e: self.fill_by_click(self.find_function, e, self.functions_list))
старые:

Код: Выделить всё

      def somefunction(self):
def insert_entry(term):
self.find_text_entry.delete(0, END)
self.find_text_entry.insert(END, popular_terms.get(ACTIVE))
popular_terms.bind('', insert_entry)

Возможно, это комбинация использования лямбда-выражения и предоставления виджета в качестве параметров, но я не знаю, как это решить.
Я пытался найти какое-то решение, но Я закончил только некоторыми грязными и коренастыми.

Подробнее здесь: https://stackoverflow.com/questions/786 ... tbox-delay

Вернуться в «Python»