from PyQt6.QtWidgets import QProgressBar, QWidget, QVBoxLayout, QLabel from PyQt6.QtCore import Qt class LoadingBar(QWidget): def __init__(self, label_text: str = "", parent=None) -> None: super().__init__(parent) layout = QVBoxLayout(self) layout.setAlignment(Qt.AlignmentFlag.AlignCenter) self.label = QLabel(label_text, self) self.progress = QProgressBar(self) self.progress.setMinimum(0) self.progress.setMaximum(100) layout.addWidget(self.label) layout.addWidget(self.progress) def set_label(self, text: str) -> None: self.label.setText(text) def set_progress(self, value: int) -> None: self.progress.setValue(value)