I am trying to open a QWidget when close even in QMainWindow is triggered. The QWidget need to stay open until the for loop gets completed. The QWidget is showing up, but the elements in the widget is kept being invisible. Please help.
import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QLabel
from PySide6.QtGui import QFont
from PySide6.QtCore import Qt
class Loader(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('ManagerBee - Loader')
self.resize(250, 130)
self.h1 = QFont()
self.h1.setPointSize(9)
self.h1.setBold(True)
self.itemVL_1 = QVBoxLayout(self)
self.loaderText = QLabel("Auto Backup is in progress.<br/>System will close automatically.")
self.loaderText.setFont(self.h1)
self.loaderText.setAlignment(Qt.AlignCenter)
self.itemVL_1.addWidget(self.loaderText)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("My Main Window")
self.closeEvent = self.close_event
def close_event(self,event):
self.closingLoader = Loader()
self.closingLoader.setWindowFlags(self.closingLoader.windowFlags() | Qt.WindowStaysOnTopHint)
self.closingLoader.show()
for i in range(0,5000):
print(i)
self.closingLoader.close()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec()