我非常需要在用户点击它后立即让我的QLineEdit清除,但我发现没有信号点击支持QLineEdit,所以我搜索直到我发现下面的代码执行任务,它工作正常但我发现它也响应键盘新闻事件不仅鼠标点击事件,我不能解释为什么! ,所以任何人都可以帮助!
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
def clickable(widget):
class Filter(QObject):
clicked = pyqtSignal()
def eventFilter(self, obj, event):
if obj == widget:
if event.type() == QEvent.MouseButtonPress:
if obj.rect().contains(event.pos()):
self.clicked.emit()
return True
return False
filter = Filter(widget)
widget.installEventFilter(filter)
return filter.clicked
答案 0 :(得分:0)
代码正确,问题出在我的IDE中