pyqt添加啟動等待界面的操作
一、實驗環境
1.Windows7x64_SP1
2.anaconda3.7 + python3.7(anaconda集成,不需單獨安裝)
3.pyinstaller3.5 #使用pyinstaller3.0,打包時報錯
二、實驗步驟
1.resource.qrc文件中添加圖片資源
<RCC> <qresource> <file alias="contacts.png">ico/contacts.png</file> <file alias="exit.png">ico/exit.png</file> <file alias="about.png">ico/about.png</file> <file alias="config.png">ico/config.png</file> <file alias="help.png">ico/help.png</file> <file alias="xel.png">ico/xel.png</file> <file alias="xel_small.png">ico/xel_small.png</file> <file alias="magnifier.png">ico/magnifier.png</file> <file alias="wait.png">ico/wait.png</file> </qresource> </RCC>
2.使用pyrcc5生成最新的resource.py文件,命令參考如下:
pyrcc5 -o resource.py resource.qrc
3.更改程序主文件
# -*- coding: utf-8 -*- import os,sys,time,re from PyQt5.QtWidgets import QMainWindow,QMessageBox from PyQt5.uic import loadUi from PyQt5.QtWidgets import QApplication,QDialog,QSplashScreen from PyQt5 import QtCore,QtGui from untitled import Ui_MainWindow if __name__ == '__main__': app = QApplication(sys.argv) splash = QSplashScreen(QtGui.QPixmap(":/wait.png")) # 啟動界面圖片地址 splash.show() # 展示啟動圖片 app.processEvents() # 防止進程卡死 icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/magnifier.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) tool = SmartBit_Tool() tool.setWindowIcon(icon) tool.show() splash.finish(tool) # 關閉啟動界面 sys.exit(app.exec_())
4.運行結果
運行exe文件發現,從雙擊exe文件至彈出啟動界面圖片,還是存在一定的延時!如何縮短這個延時,還需要繼續研究,知道的童鞋也請告知!
5.提升運行速度
代碼中不用的庫,刪除其導入語句
盡量使用from xxx import xxx,少用from xxx import *
使用pyinstaller打包文件,打包為一個文件夾
補充:PyQt5啟動畫面——等待程序啟動不用幹瞪眼
PyQt的啟動畫面可以通過QSplashScreen類來快捷制作,支持透明圖片
import sys from PyQt5 import QtWidgets, QtGui # 對Qt部件的操作一般都要在創建Qt程序後才能進行 app = QtWidgets.QApplication(sys.argv) # 創建啟動界面,支持png透明圖片 splash = QtWidgets.QSplashScreen(QtGui.QPixmap('splash.png')) splash.show() # 可以顯示啟動信息 splash.showMessage('正在加載……') # 關閉啟動畫面 splash.close()
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- PyQt 5 設置Logo圖標和Title標題的操作
- PyQt QMainWindow的使用示例
- 詳解PyCharm使用pyQT5進行GUI開發的基本流程
- PyQt 如何創建自定義QWidget
- pyqt5打包成exe可執行文件的方法