Abrir ventana y enfocar cuadro de texto tkinter

Tengo una (segunda) ventana tkinter que, cuando se abre, no se enfoca, sino que la primera ventana permanece enfocada (aunque la segunda ventana aparece delante de la otra). Contiene un cuadro de texto que quiero poder escribir, pero tengo que hacer doble clic para escribir.

¿Cómo enfoco el cuadro de texto cuando abro la ventana?

Mis bashs: textbox.focus_set() , window.grab_set() , window.focus_set()

Ninguno de ellos hizo lo que yo quería hacer.

EDITAR: En su lugar, .focus_set() genera un error cuando (y solo cuando) cierra la ventana principal : can't invoke "focus" command: application has been destroyed

Este es mi código actual ( tkWin es la ventana principal, tkcWin es la segunda ventana):

 def click(self, field): import _tkinter if field != None: try: self.tkcWin = Tk()#creating window self.tkcWin.focus() self.tkcWin.title(field) self.tkcWin.geometry('300x100') self.mainframe = Frame(master=self.tkcWin,background="#60BF98") self.mainframe.place(x=0, y=0, width=300, height=300) self.textb = Text(master=self.mainframe) self.textb.place(x=0, y=50) self.textb.bind("",lambda a: self.setM(field)) self.textb.bind("",lambda a: self.tkcWin.destroy(),True) self.tkcWin.grab_set() self.tkWin.wait_window(self.tkcWin) self.textb.focus_set() hwnd = self.tkcWin.winfo_id() ctypes.windll.user32.SetFocus(hwnd) self.tkcWin.mainloop() except _tkinter.TclError: self.tkcWin.destroy() 

Resulta que simplemente puede llamar al método deiconify() la ventana secundaria y luego al método deiconify() del widget:

 toplevel.deiconify() text.focus_set() 

Aquí está la solución alternativa original para Windows (ya no se recomienda):

Comience por agregar import ctypes en la parte superior.
text.focus_set() y enfoca tu widget como lo has hecho con: text.focus_set()
Obtenga el hwnd de la segunda ventana: top_hwnd = toplevel.winfo_id()
Y finalmente activar la segunda ventana con: ctypes.windll.user32.SetFocus(top_hwnd)