У метода
bind есть третий необязательный параметр
add, если его значение
'+' или
True, то второе действие добавляется к первому, если третьего параметра нет или он равен
False, то второе действие заменяет первое.
class Search(tk.Toplevel):
def __init__(self):
super().__init__()
self.init_search()
self.view = app
def init_search(self):
self.title('Поиск')
self.geometry('300x100+400+300')
self.resizable(False, False)
label_search = tk.Label(self, text='Поиск')
label_search.place(x=50, y=20)
self.entry_search = ttk.Entry(self)
self.entry_search.place(x=105, y=20, width=150)
# btn_cancel = ttk.Button(self, text='Закрыть', command=self.destroy)
# btn_cancel.place(x=185, y=50)
btn_search = ttk.Button(self, text='Поиск и закрытие')
btn_search.place(x=105, y=50)
# первое действие: поиск
btn_search.bind('<Button-1>', lambda event: self.view.search_record(self.entry_search.get()))
# второе действие: закрытие окна
btn_search.bind('<Button-1>', lambda event: self.destroy(), add='+') #или add=True