class StartWidget(QWidget, Ui_Form):
def __init__(self):
# 初始化
super().__init__()
self.setupUi(self)
# 安装监听
self.startTable.installEventFilter(self)
self.storeTable.installEventFilter(self)
def eventFilter(self, obj, event):
"""
给两个table添加焦点监听
焦点进入事件:QtCore.QEvent.Type.FocusIn
焦点离开事件:QtCore.QEvent.Type.FocusOut
"""
if obj == self.storeTable:
if event.type() == QtCore.QEvent.Type.FocusIn:
self.rightMoveBtn.setEnabled(True)
self.leftMoveBtn.setEnabled(False)
if obj == self.startTable:
if event.type() == QtCore.QEvent.Type.FocusIn:
self.leftMoveBtn.setEnabled(True)
self.rightMoveBtn.setEnabled(False)
# 必须有返回值,否则会报错
return super(StartWidget, self).eventFilter(obj, event)
PyQt PySide2 监听容器内组件焦点事件
最新推荐文章于 2024-04-28 21:56:12 发布