Files
xml-editor/examples/window/splash_screen/demo.py

54 lines
1.5 KiB
Python

# coding:utf-8
import sys
from PyQt5.QtCore import Qt, QEventLoop, QTimer, QSize
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication
from qfluentwidgets import SplashScreen
from qframelesswindow import FramelessWindow, StandardTitleBar
class Demo(FramelessWindow):
def __init__(self):
super().__init__()
self.resize(700, 600)
self.setWindowTitle('PyQt-Fluent-Widgets')
self.setWindowIcon(QIcon(':/qfluentwidgets/images/logo.png'))
# create splash screen and show window
self.splashScreen = SplashScreen(self.windowIcon(), self)
self.splashScreen.setIconSize(QSize(102, 102))
# customize the title bar of splash screen
# titleBar = StandardTitleBar(self.splashScreen)
# titleBar.setIcon(self.windowIcon())
# titleBar.setTitle(self.windowTitle())
# self.splashScreen.setTitleBar(titleBar)
self.show()
# create other subinterfaces
self.createSubInterface()
# close splash screen
self.splashScreen.finish()
def createSubInterface(self):
loop = QEventLoop(self)
QTimer.singleShot(3000, loop.quit)
loop.exec()
if __name__ == '__main__':
# enable dpi scale
QApplication.setHighDpiScaleFactorRoundingPolicy(Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)
app = QApplication(sys.argv)
w = Demo()
w.show()
app.exec_()