Sorry if this sounds like a dummy question, I am new to PySide. I want to create two QListWidgets in a single layout after a clicked signal is emitted. However, the lists do not appear as expected when the button is pressed. Here is my code: import sys import random from PySide6.QtWidgets import QApplication, QWidget, QLineEdit, QListWidget, QHBoxLayout, QListWidgetItem from PySide6 import QtCore, QtWidgets from PySide6.QtCore import Slot class Widget(QWidget): def __init__(self, parent=None): super().__init__(parent) self.button = QtWidgets.QPushButton("Enter room") self.textfield = QLineEdit() self.layout = QtWidgets.QVBoxLayout(self) self.layout.addWidget(self.textfield) self.layout.addWidget(self.button) self.button.clicked.connect(self.connect) @Slot() def connect(self): room_id = self.textfield.text().strip() self.button.deleteLater() self.textfield.deleteLater() self.layout = QHBoxLayout() self.feed = QListWidget() self.online = QListWidget() self.online.addItem(QListWidgetItem("Oak")) self.online.addItem(QListWidgetItem("Fir")) self.online.addItem(QListWidgetItem("Pine")) self.feed.addItem(QListWidgetItem("Hello World")) self.layout.addWidget(self.feed) self.layout.addWidget(self.online) self.setLayout(self.layout) self.update() # does not update after button and textfield deletions if __name__ == "__main__": app = QApplication([]) window = Widget() window.show() sys.exit(app.exec()) I tried to draw the QWidgetLists in the constructor and it displayed as expected. I guess I am not correctly updating the main Widget. class Widget(QWidget): def __init__(self, parent=None): super().__init__(parent) self.layout = QHBoxLayout() self.feed = QListWidget() self.online = QListWidget() self.online.addItem(QListWidgetItem("Oak")) self.online.addItem(QListWidgetItem("Fir")) self.online.addItem(QListWidgetItem("Pine")) self.feed.addItem(QListWidgetItem("Hello World")) self.layout.addWidget(self.feed) self.layout.addWidget(self.online) self.setLayout(self.layout) self.update() # it works Continue reading...