在 Q 线编辑 PYQT 中添加焦点输入和聚焦输出事件



我想在QLine Edit小部件上设置FocusIn和Focusout事件,但无法这样做。 我知道我非常接近解决方案,但无法获得确切的解决方案。 我的代码:-

from PyQt4.QtGui import *
url = QtGui.QLineEdit("Please enter URL", w)
url.setFixedWidth(800)
url.move(500,0)
url.focusInEvent(QFocusEvent)
if url.gotFocus():
 print "got focus"
elif url.lostFocus():
 print "lost focus"   

请帮助我调试问题。

您可能应该查看focusInEvent方法的文档

此事件处理程序可以在子类中重新实现以接收 小组件的键盘焦点事件(收到的焦点(。

它意味着在子类中被覆盖。 您不直接调用它,当 focusIn 事件发生时,事件系统会自动调用它。 你需要做这样的事情。

class MyLineEdit(QtGui.QLineEdit):
    def focusInEvent(self, event):
        print 'focus in event'
        # do custom stuff
        super(MyLineEdit, self).focusInEvent(event)

gotFocuslostFocus甚至不是实际的方法。

最新更新