Я пытался создать небольшой скрипт pyqt, в который добавляются кнопки при нажатии кнопки. Работает как задумано, но только при добавлении кнопок в основной макет. Когда я пытаюсь добавить кнопки во вложенный макет, они не отображаются.
Пример рабочего кода:
class Example(QWidget):
def __init__(self):
super().__init__()
self.widget_layout = QVBoxLayout()
self.btn = QPushButton('add button')
self.btn.pressed.connect(self.add_button)
self.widget_layout.addWidget(self.btn)
self.setLayout(self.widget_layout)
self.setGeometry(300, 300, 300, 300)
self.show()
def add_button(self):
count = self.widget_layout.count()
btn = QPushButton(str(count))
self.widget_layout.addWidget(btn)
Пример кода, который не работает:
class Example(QWidget):
def __init__(self):
super().__init__()
self.widget_layout = QVBoxLayout()
self.button_layout = QVBoxLayout()
self.btn = QPushButton('add button')
self.btn.pressed.connect(self.add_button)
self.widget_layout.addWidget(self.btn)
self.widget_layout.addItem(self.button_layout)
self.setLayout(self.widget_layout)
self.setGeometry(300, 300, 300, 300)
self.show()
def add_button(self):
count = self.button_layout.count()
btn = QPushButton(str(count+1))
self.button_layout.addWidget(btn)
Кто-нибудь знает, почему это не работает во вложенном макете?