需要制作一个快速录表的GUI,随手用pyqt简单写了一个,重写了focusOutEvent实现失焦刷新:
class QLineEdit(QtWidgets.QLineEdit):
def __init__(self, parent=None):
super(QLineEdit,self).__init__(parent)
self.in_signal = QtCore.pyqtSignal(dict) #定义信号
def focusOutEvent(self, e):
self.in_signal.emit({self.objectName(): self.text()}) #发送信号
结果多光标了。如下图
稍微查了下,都说要重新处理force,或者用eventFilter什么的,我只是想简单写一个,不要搞那么复杂。理论上原来的focusOutEvent是有处理的,不需要重写。
最后发现是我大意了,如果不想完全重写类方法,可以把原来的再继承回来(最好养成习惯,如非必要,重写的方法也需return),解决方法,直接super一下然后return即可:
return super(QLineEdit,