PyQt5編程(5):啟動界面

PyQt中的QSplashScreen類提供了在程序啟動過程中顯示的啟動畫面的功能當(dāng)運(yùn)行程序時,在顯示屏的中央出現(xiàn)一個啟動畫面,經(jīng)過一段時間,應(yīng)用程序完成初始化工作后,啟動畫面隱去,出現(xiàn)程序的主窗口界面的功能。
構(gòu)造函數(shù):
QSplashScreen ([QPixmap pixmap] [,Qt.WindowFlags flags=0])
QSplashScreen (QWidget parent[,QPixmap pixmap] [,Qt.WindowFlags flags=0])
patent參數(shù)指定父組件;pixmap參數(shù)是QPixmap類的實例,用來指定顯示在啟動界面的圖像;flags參數(shù)設(shè)為Qt.WindowStaysOnTopHint可用來將啟動界面置頂。
方法:
show():顯示啟動界面
finish (QWidget w):啟動界面顯示直至主窗口加載完成
showMessage (QString message, int alignment = Qt.AlignLeft, QColor color = Qt.black):的在啟動界面顯示message字符串,字體顏色為color,對齊方式為alignment.
clearMessage():清除showMessage()顯示的字符串。
setPixmap (QPixmap pixmap):設(shè)置啟動界面圖像
pixmap():返回啟動界面圖像的QPixmap實例

# -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets
import time

class MyWindow(QtWidgets.QPushButton):

    def __init__(self):
        QtWidgets.QPushButton.__init__(self)
        self.setText("關(guān)閉窗口")
        self.clicked.connect(QtWidgets.qApp.quit)

    def load_data(self, sp):
        for i in range(1, 11):              #模擬主程序加載過程 
            time.sleep(2)                   # 加載數(shù)據(jù)
            sp.showMessage("加載... {0}%".format(i * 10), QtCore.Qt.AlignHCenter |QtCore.Qt.AlignBottom, QtCore.Qt.black)
            QtWidgets.qApp.processEvents()  # 允許主進(jìn)程處理事件

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    splash = QtWidgets.QSplashScreen(QtGui.QPixmap("img.jpg"))
    splash.showMessage("加載... 0%", QtCore.Qt.AlignHCenter | QtCore.Qt.AlignBottom, QtCore.Qt.black)
    splash.show()                           # 顯示啟動界面
    QtWidgets.qApp.processEvents()          # 處理主進(jìn)程事件
    window = MyWindow()
    window.setWindowTitle("QSplashScreen類使用")
    window.resize(300, 30)
    window.load_data(splash)                # 加載數(shù)據(jù)
    window.show()
    splash.finish(window)                   # 隱藏啟動界面
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,167評論 25 708
  • 《ilua》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 1...
    葉染柒丶閱讀 11,519評論 0 11
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,634評論 19 139
  • 沒想到這么快就會寫第二篇,在第一篇寫完之后的十五分鐘內(nèi),我瀏覽了簡書的設(shè)置方式,下載了安卓版,去換了套睡衣,還燒了...
    Seasong閱讀 683評論 1 50
  • 他于我而言是什么呢? 是救贖,是久旱后的雨露,是黑暗里突然透出的光,是我在高三這個沉重壓抑的時期里安慰自己的唯一方...
    黎霜曉閱讀 265評論 0 0

友情鏈接更多精彩內(nèi)容