Это сводит меня с ума. Надеюсь, что кто-то может прояснить это для меня. Выполнение следующего кода приводит к тому, что первый оператор print представляет собой список с одним элементом - объектом QVBoxLayout
. Я установил два объекта на layout
, почему я получаю только один?
Второй оператор print дает двум объектам QHBoxLayout
и QPushButton
. Разве QPushButton
не ребенок layout
?
Я ожидаю, что layout.children()
даст мне два объекта QPushButton
и QVBoxLayout
и self.children()
чтобы дать мне один объект QHBoxLayout
. Чего мне не хватает?
from PySide.QtGui import *
import sys
class Main(QWidget):
def __init__(self, parent=None):
super(Main, self).__init__(parent)
layout = QHBoxLayout(self)
layout.addWidget(QPushButton("foo"))
layout.addLayout(QVBoxLayout())
print layout.children()
print self.children()
app = QApplication([])
main = Main()
main.show()
sys.exit(app.exec_())