Найти - Пользователи
Полная версия: Закрытие окна после нажатия кнопки
Начало » GUI » Закрытие окна после нажатия кнопки
1
Feelgood
Собственно хочу чтоб по нажатию кнопки “Поиск” выполнялась функция и окно само закрывалось, да бы не плодить ещё одну кнопку “Закрыть” как в текущем варианте.

 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()))
rami
У метода 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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB