1.介紹QSplashScreen
QSplashScreen可以在軟件啓動前的顯示一個啓動界面,類似效果可以在很多軟件中看到:我們點擊軟件啓動,首先出現的不是軟件界面,而是一個啓動界面,這個啓動界面帶有一個背景圖片,同時有一個進度條來顯示軟件的啓動進度。QSplashScreen就是用來實現這樣的啓動界面,在軟件需要啓動較多模塊,避免用戶不明原因等待,使用QSplashScreen實現啓動界面是非常好的方法。
2.代碼示例
from PySide2.QtWidgets import QApplication, QSplashScreen
import sys
if __name__ == "__main__":
AppByPyside2 = QApplication(sys.argv)
# 2.1 顯示啓動界面
splashScreen = QSplashScreen()
splashScreen.show()
AppByPyside2.processEvents()
# 2.2 加載模塊,並更新啓動界面
'''
start module1
set splashScreen 進度
start module2
set splashScreen 進入
.......
'''
# 2.3 顯示主窗口
theMainWindow = MainWindow()
theMainWindow.show()
# 2.4 退出啓動界面
splashScreen.finish(theMainWindow)
AppByPyside2.exec_()
2.1theMainWindow是我們的主窗口,在主窗口顯示之前,我們建立一個QSplashScreen()實體splashScreen ,這裏沒有在splashScreen中添加任何內容,我們在應用時可以添加圖片、文字信息或進度條。使用show將splashScreen 顯示出來。
2.2在splashScreen顯示出來後,我們可以加載非界面模塊,這裏的模塊根據應用而定,在啓動界面我們可以看到加載的模塊信息或進度條。
2.3在非界面模塊加載完成後,我們需要顯示我們的主窗口theMainWindow,並顯示出來。
2.4最後splashScreen是需要自動消失的,它需要在主窗口全部加載完成後退出顯示, 使用splashScreen.finish可以實現。