layout.insertLayout(layout.count()-1, createdLayout) def doneCreating(): name = nameToCreate.text() created = QPushButton() created.setText("{0} @ {1}".format(name, hex(id(created)))) createdLayout.addWidget(created) doneButton.hide() nameToCreate.hide() createButton.show() doneButton.clicked.connect(doneCreating) nameToCreate.setMinimumWidth(150) widget.adjustSize() #button = createdLayout.takeAt(createdLayout.count()-2).widget() #createdLayout.insertWidget(0, button) #button = createdLayout.takeAt(0).widget() #button.text() widget.adjustSize() #button.deleteLater() #createdLayout.count()