parent 参数有什么用?
What is the parent argument for?
我在 pyqt docs 中读到如果 parent 是 None,QWidget 将变成 window。但是在我的主要小部件中,我创建了几个 QWidget 子类而不传递 parent 参数,并且它工作正常:
widget = MyWidget()
layout = QVBoxLayout()
layout.addWidget(widget)
self.setLayout(layout)
这是如何工作的,parent 参数的真正用途是什么?
当您使用 setLayout
时,布局会自动成为分配给它的小部件的子项:
http://pyqt.sourceforge.net/Docs/PyQt4/qwidget.html#setLayout
因此,您所发现的似乎不是 parent
的一般问题,而是 setLayout
的一个特征。请注意 QLayout
不是 QWidget
,因此永远不会成为独立的 window -- 它被迫坐在内存中等待粘附到小部件。
我在 pyqt docs 中读到如果 parent 是 None,QWidget 将变成 window。但是在我的主要小部件中,我创建了几个 QWidget 子类而不传递 parent 参数,并且它工作正常:
widget = MyWidget()
layout = QVBoxLayout()
layout.addWidget(widget)
self.setLayout(layout)
这是如何工作的,parent 参数的真正用途是什么?
当您使用 setLayout
时,布局会自动成为分配给它的小部件的子项:
http://pyqt.sourceforge.net/Docs/PyQt4/qwidget.html#setLayout
因此,您所发现的似乎不是 parent
的一般问题,而是 setLayout
的一个特征。请注意 QLayout
不是 QWidget
,因此永远不会成为独立的 window -- 它被迫坐在内存中等待粘附到小部件。