2016-04-15 86 views
0

我在pyqt docs中读到,如果父项为None,则QWidget将成为一个窗口。但在我的主窗口部件创建几个子类QWidget的不经过家长的说法,并能正常工作:什么是父参数?

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

是如何工作的,什么是父的说法真的?

回答

2

当您使用setLayout,布局会自动成为小部件的孩子它被分配到:

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

因此,你发现了什么似乎并不符合parent问题一般而言,但功能为setLayout。请注意,QLayout不是QWidget,所以永远不会成为一个独立的窗口 - 它被迫在内存中等待被粘贴到一个小部件。