2017-05-18 13 views
0

我正在使用Toplevel來生成兩個窗口。但是當它打開第二個窗口時,鍵盤沒有立即激活(兩個窗口同時打開),我需要先點擊第二個窗口才能使用鍵盤。我試圖使用root.lift來解決它,但它不起作用。這裏有什麼問題?鍵盤不能直接在Toplevel python中使用

我的代碼:

class practisePage1(): 
     def __init__(self, master): 
      self.master = master 
      self.master.update_idletasks() 
      self.master.attributes('-fullscreen', True) 
      self.button1 = Button(self.master, text="NEXT", bg='gray77', command=self.gotoPage3, anchor=CENTER) 
      self.button1.pack() 

     def gotoPage1(self): 
      self.root1 = Toplevel(self.master) 
      self.instPage1 = practisePage1(self.root1) 

class practisePage1(): 
     def __init__(self, master): 
      self.master = master 
      self.master.update_idletasks() 
      self.master.attributes('-fullscreen', True) 

      self.choiceA = master.bind('a', self.showResultEx1) #can't be used directly, the window needs to be clicked first 
      self.choiceB = master.bind('l', self.showResultEx2) #can't be used directly. 


     def showResultEx1(self): 
      #some codes 
     def showResultEx2(self): 
      #some codes 

感謝您的幫助!

+2

你有沒有試過用'focus_set'給窗口焦點? –

+0

謝謝@BryanOakley!這是一個焦點問題。有用! – Kay

回答

1

這是鍵盤焦點問題。在綁定我的鍵盤之前,我添加了focus_set(),它解決了這個問題。