我想理解super(Example,self).__ init __()函数的含义

时间:2015-11-16 11:07:05

标签: python pyqt4

#!/usr/bin/python

import sys
from PyQt4 import QtGui

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__() # what the meaning of this line

        self.initUI()

    def initUI(self):

        lbl1 = QtGui.QLabel('ZetCode', self)
        lbl1.move(15, 10)

        lbl2 = QtGui.QLabel('tutorials', self)
        lbl2.move(35, 40)

        lbl3 = QtGui.QLabel('for programmers', self)
        lbl3.move(55, 70)        

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Absolute')    
        self.show()

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

super()函数调用父构造函数。在早期版本的python的情况下,我们必须手动决定必须调用其构造函数的父类,以防子类从多个类继承。在新样式类中,super()执行此任务以避免继承中的钻石问题。请参阅python文档中的super()doc。