Sep-07-2020, 01:39 PM
Hey! Friends I Have Made A Code A That Looks Nice But Problem Is I Want to Make It setupUi To QuiLoad()
Note: I AM Using PYSIDE2
converting reason: not to use the self.findchild again and again
Note: I AM Using PYSIDE2
import sys import platform from PySide2 import QtCore, QtGui, QtWidgets from PySide2.QtCore import (QCoreApplication, QPropertyAnimation, QDate, QDateTime, QMetaObject, QObject, QPoint, QRect, QSize, QTime, QUrl, Qt, QEvent) from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont, QFontDatabase, QIcon, QKeySequence, QLinearGradient, QPalette, QPainter, QPixmap, QRadialGradient) from PySide2.QtWidgets import * from PySide2 import QtUiTools ## ==> SPLASH SCREEN from ui_splash_screen import Ui_SplashScreen ## ==> MAIN WINDOW from ui_main import Ui_MainWindow ## ==> GLOBALS counter = 0 # YOUR APPLICATION class MainWindow(QMainWindow): def __init__(self): QMainWindow.__init__(self) # self.ui = Ui_MainWindow() # self.ui.setupUi(self) self.ui = QtUiTools.QUiLoader().load("main.ui") self.ui.show() # MAIN WINDOW LABEL # SPLASH SCREEN class SplashScreen(QMainWindow): def __init__(self): QMainWindow.__init__(self) # self.ui = QtUiTools.QUiLoader().load("splash_screen.ui") # self.ui.show() self.ui = Ui_SplashScreen() self.ui.setupUi(self) ## UI ==> INTERFACE CODES ######################################################################## ## REMOVE TITLE BAR self.setWindowFlag(QtCore.Qt.FramelessWindowHint) self.setAttribute(QtCore.Qt.WA_TranslucentBackground) ## DROP SHADOW EFFECT self.shadow = QGraphicsDropShadowEffect(self) self.shadow.setBlurRadius(20) self.shadow.setXOffset(0) self.shadow.setYOffset(0) self.shadow.setColor(QColor(0, 0, 0, 60)) self.ui.dropShadowFrame.setGraphicsEffect(self.shadow) ## QTIMER ==> START self.timer = QtCore.QTimer() self.timer.timeout.connect(self.progress) # TIMER IN MILLISECONDS self.timer.start(35) # CHANGE DESCRIPTION # Initial Text self.ui.label_description.setText("<strong>WELCOME</strong> PDF TOOLS") # Change Texts QtCore.QTimer.singleShot(1500, lambda: self.ui.label_description.setText("<strong>LOADING</strong> DATABASE")) QtCore.QTimer.singleShot(3000, lambda: self.ui.label_description.setText("<strong>LOADING</strong> USER INTERFACE")) ## SHOW ==> MAIN WINDOW ######################################################################## self.show() ## ==> END ## ## ==> APP FUNCTIONS ######################################################################## def progress(self): global counter # SET VALUE TO PROGRESS BAR self.ui.progressBar.setValue(counter) # CLOSE SPLASH SCREE AND OPEN APP if counter > 100: # STOP TIMER self.timer.stop() # SHOW MAIN WINDOW self.main = MainWindow() self.main.show() # CLOSE SPLASH SCREEN self.close() # INCREASE COUNTER counter += 1 if __name__ == "__main__": app = QApplication(sys.argv) window = SplashScreen() sys.exit(app.exec_())I AM USING A UI File.
converting reason: not to use the self.findchild again and again