2016-04-15 123 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,所以永遠不會成爲一個獨立的窗口 - 它被迫在內存中等待被粘貼到一個小部件。