QFrame не отображается когда я его помещаю в отдельный класс

Я писал программу PyQt5, но после запуска программы не вижу Frame и получаю пустое окно.

В чем дело? Подскажите, пожалуйста :-)

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication,QLabel,QFrame,QTextEdit
#import loadingscript

#Main Window
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        #setting of window
        self.setGeometry(300,100,1000,700)
        self.setFixedSize(1000,700)
        self.setWindowTitle("ShumeGram")
        #background
        background = QLabel(self)
        background.setGeometry(0,0,1000,700)
        background.setStyleSheet("background-image: url(background.jpg)")
        #All objects
        self.l = LeftFrame()
        #show all objects
        self.show()


class LeftFrame(QFrame):
    def __init__(self):
        super().__init__()
        #setting of frame
        self.setGeometry(-30,0,250,730)
        self.setStyleSheet("background-color: white; border-radius: 30px;")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    m = MainWindow()
    sys.exit(app.exec_())

Ответы (1 шт):

Автор решения: S. Nick

Виджет без родителя - это окно. Окно надо показать:

self.leftFrame.show()

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication,QLabel, \
    QFrame, QTextEdit, QWidget


class LeftFrame(QFrame):
    def __init__(self):
        super().__init__()

        self.setGeometry(-30, 0, 250, 730)
        self.setStyleSheet("background-color: red; border-radius: 30px;")


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        #setting of window
        self.setGeometry(300,100,1000,700)
        self.setFixedSize(1000,700)
        self.setWindowTitle("ShumeGram")

        self.centralwidget = QWidget()
        self.setCentralWidget(self.centralwidget)
        
        #background
        background = QLabel('Htllo  Wjrld', self.centralwidget)
        background.setGeometry(0, 0, 1000, 700)
        background.setStyleSheet("background-image: url(lena.jpg)")
        
        self.leftFrame = LeftFrame()
        #show leftFrame
        self.leftFrame.show()
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    m = MainWindow()
    m.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка