如何在PyQt中将键盘焦点转换为QTextEdit?

问题描述:

我已经将一个简单的QTextEdit小部件插入到我的PyQt用户界面中。当用户想要将文本输入到该小部件中时,他必须点击它。我的程序应该能够在某些场合自动发生这种情况,这样用户就可以开始在那个QTextEdit小部件中输入文本,而无需点击它。如何在PyQt中将键盘焦点转换为QTextEdit?

我已经到了某个地方,但问题仍未完全解决。当我的程序调用focus()函数时,光标将在最后一行的末尾开始闪烁。但在键盘上键入不会插入任何文本。

class myTextField(QPlainTextEdit): 

     def __init__(self): 
      super(myTextField, self).__init__() 
      ... 


     def focus(self): 
      self.focusInEvent(QFocusEvent(QEvent.FocusIn)) 
      # Now the cursor blinks at the end of the last line. 
      # But typing on your keyboard doesn't insert any text. 
      # You still got to click explicitly onto the widget.. 

     ... 

    ### 

任何帮助是极大的赞赏:-)

使用setFocus()方法。

​​