【发布时间】:2019-08-21 00:26:10
【问题描述】:
当继承一个类并覆盖一个方法时,您并不总是知道原始类中的内容。如果我理解正确的话,Python 中处理这个问题的各个方面都是为了适应这一点而设计的。但我不得不认为所有或大部分 Qt 代码都记录在某处。我发现 Qt for Python 文档令人耳目一新(与 PyQt 相比)并列出了具有相当数量细节的类的所有方法,但我无法找到特定方法的实际代码,并且描述并不总是非常完整。例如,考虑是否要覆盖组合框的 mousePressEvent。
class mycombo(QtWidgets.QComboBox):
def __init__(self, parent = None):
super(mycombo, self).__init__()
self.setAcceptDrops(True)
self.setFocusPolicy(QtCore.Qt.NoFocus)
def mousePressEvent(self,event):
在 Qt for Python 文档中,我看到 QComboBox 继承自 QWidget 这对 mousePressEvent 有这样的说法:
那里写了一些有用的东西,但是,我如何确定“原始”mousePressEvent 中实际发生了什么?我不想干扰实际需要的操作的其他部分。在这种情况下,可能需要像描述中提到的那样处理弹出窗口小部件。但我也可能不想超级原始方法。是否有更多我以某种方式错过的文档?似乎某些小部件在 Python 中进行了子类化和修改,而其他小部件仅在 C++ 中?
【问题讨论】:
标签: python python-3.x pyside2