def show_picker(self, button: ttk.Button, picker: ttk.Frame): x = self.winfo_width() + 1 y = button.winfo_rooty() - picker.master.winfo_rooty() - 1 picker.place(x=x, y=y) self.app.bind_all("<ButtonRelease-1>", lambda e: self.hide_pickers()) picker.wait_visibility() picker.grab_set() self.wait_window(picker) self.app.unbind_all("<ButtonRelease-1>")