'Pyqt5 How to make a scrollbar, which works correctly

Hi I'm trying to make an application for desktop until everything is fine but I'm stuck on the scrollbar, I made a scrollbar but it doesn't work, I also tried to do some research to find the solution but nothing, I leave you my code for more details:

from PyQt5.QtWidgets import (QWidget, QSlider, QLineEdit, QLabel, QPushButton, QScrollArea,QApplication, QHBoxLayout, QVBoxLayout, QMainWindow)

from PyQt5.QtCore import Qt, QSize
from PyQt5 import QtWidgets, uic
import sys

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

     def initUI(self):
        self.scroll = QScrollArea()
        self.widget = QWidget()    
        self.vbox = QVBoxLayout()  

     for i in range(1,50):
        f = QtWidgets.QFrame()
        object = QLabel("TextLabel", f)
        self.vbox.addWidget(f)

     self.widget.setLayout(self.vbox)

     #Scroll Area Properties
     self.scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
     self.scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
     self.scroll.setWidgetResizable(True)
     self.scroll.setWidget(self.widget)

     self.setCentralWidget(self.scroll)

     self.setGeometry(600, 100, 1000, 900)
     self.setWindowTitle('Scroll Area Demonstration')
     self.show()

     def main():
        app = QtWidgets.QApplication(sys.argv)
        main = MainWindow()
        sys.exit(app.exec_())

     if __name__ == '__main__':
        main()


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source