1

我正在尝试自己学习PyQtrapid gui programming with python and qt并且无法理解meaning/requirement书中一个示例中提到的以下代码行。

class Form(QDialog):

        def __init__(self,parent=None):
                super(Form,self).__init__(parent) # Trouble understanding here

所以,我的问题是super(Form,self).__init__(parent)它试图完整填写此代码的需要或目的是什么。

4

1 回答 1

2

看看文档super()

返回一个代理对象,它将方法调用委托给类型的父类或同级类。这对于访问已在类中重写的继承方法很有用。搜索顺序与 getattr() 使用的相同,只是跳过了类型本身。

所以基本上这行代码:

super(Form,self).__init__(parent)

__init__()在当前类 ( Form) 继承的类中找到“最接近”的 set方法,并使用此方法初始化对象并作为第一个参数self传递。parent

于 2012-05-19T20:50:37.557 回答