什么是父参数?

时间:2016-04-15 12:10:05

标签: pyqt pyqt4 pyqt5

我在pyqt docs中读到,如果parent为None,则QWidget将成为一个窗口。但是在我的主要小部件中,我创建了几个QWidget子类而没有传递父参数,它工作正常:

widget = MyWidget()
layout = QVBoxLayout()
layout.addWidget(widget)
self.setLayout(layout)

这是如何工作的,以及父参数究竟是什么?

1 个答案:

答案 0 :(得分:2)

当您使用setLayout时,布局会自动成为分配给它的小部件的子代:

http://pyqt.sourceforge.net/Docs/PyQt4/qwidget.html#setLayout

因此,您发现的内容似乎不仅仅是parent的问题,而是setLayout的一个功能。请注意QLayout不是QWidget,因此永远不会成为一个独立的窗口 - 它被迫坐在内存中等待粘贴到小部件。