how to display widget in mainwindow in pyqt5 code example

Example: pyqt add widget to window

# first we need to import  QVBoxLayout, QWidget from  PyQt5.QtWidgets
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, \
    QPushButton, QVBoxLayout
# you can copy and run this code
class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        
        layout = QVBoxLayout()
        btn = QPushButton("Click")

        layout.addWidget(btn) # add the widget to our layout
        
        w = QWidget()
        w.setLayout(layout) # set layout to our central widget
        self.setCentralWidget(w) # set w as central widget
        self.show()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MainWindow()
    sys.exit(app.exec_())