label = QLabel(splash) label.setStyleSheet(labelstyle) label.setGeometry((splash_pix.width() - 500) / 2, splash_pix.height() - 40, 500, 20) label.setAlignment(Qt.AlignCenter) progressText = "loading..." label.setText(progressText) splash.show() for i in range(0, 100): progressBar.setValue(i) updateSplash(label, i) progressBar.setFormat(str(i) + "%") t = time.time() while time.time() < t + 0.015: app.processEvents() ### -------------- # Read Masternode List masternode_list = readMNfile() # Create QMainWindow Widget ex = App(masternode_list, imgDir) # Close Splashscreen splash.close() # Execute App sys.exit(app.exec_())
class ProgressDialog(QDialog): _default = ''' QProgressBar { min-width: 350px; } ''' def __init__(self, parent, title, total_progress): super().__init__(parent) self.setWindowTitle(title) self._total_progress = total_progress self._progress_bar = None self._setup_ui() self._prepare() def _setup_ui(self): self.setStyleSheet(self._default) self.setWindowFlags( Qt.Window | Qt.WindowTitleHint | Qt.CustomizeWindowHint ) self.setStyleSheet(self._default) layout = make_layout( horizon=False, margin=24, spacing=24 ) self._progress_bar = QProgressBar() self._progress_bar.setRange(0, self._total_progress) self._progress_bar.setTextVisible(True) self._progress_bar.setFormat(r'%p% (%v/%m)') self._progress_bar.setValue(0) layout.addWidget( self._progress_bar ) self.setLayout(layout) move_center(self) def _prepare(self): return def increase(self, step=1): self._progress_bar.setValue(self._progress_bar.value() + step) if self._progress_bar.value() == self._progress_bar.maximum(): self.close() def _on_show(self): return def _on_close(self): return def showEvent(self, event): self._on_show() event.accept() def closeEvent(self, event): self._on_close() event.accept()