我有QComboBox
,我希望用户能够锁定的索引。为此,我将QComboBox
子类化,并将mousePressEvent
重写为空,但在QComboBox
的方法中
我尝试的两个问题:
mousePressEvent
mousePressEvent
的原始QComboBox
行为。我的代码:class MyComboBox(QtWidgets.QComboBox):
def __init__(self, *args, **kwargs):
super(self.__class__, self).__init__(*args, **kwargs)
def lockSelection(self, bool=None):
if bool:
def mousePressEvent(self, *args, **kwargs):
pass
else:
def mousePressEvent(self, *args, **kwargs):
return QtWidgets.QComboBox.mousePressEvent(*args, **kwargs)
..... later
## I want this to get my overriden mousePressEvent
MyComboBox.lockSelection(True)
## I want this to get the original mousePressEvent
MyComboBox.lockSelection(False)
如果要阻止继承的方法,只需重写该方法,并在必要时避免调用该方法:
如果要避免继承,可以使用事件筛选器实现一个锁,以便在任何小部件中使用它:
相关问题 更多 >
编程相关推荐