一、實(shí)驗(yàn)環(huán)境
1.Windows7x64_SP1
2.anaconda3.7 + python3.7(anaconda集成,不需單獨(dú)安裝)
3.pyinstaller3.5 #使用pyinstaller3.0,打包時(shí)報(bào)錯(cuò)
二、實(shí)驗(yàn)步驟
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")) # 啟動(dòng)界面圖片地址
splash.show() # 展示啟動(dòng)圖片
app.processEvents() # 防止進(jìn)程卡死
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) # 關(guān)閉啟動(dòng)界面
sys.exit(app.exec_())
4.運(yùn)行結(jié)果
運(yùn)行exe文件發(fā)現(xiàn),從雙擊exe文件至彈出啟動(dòng)界面圖片,還是存在一定的延時(shí)!如何縮短這個(gè)延時(shí),還需要繼續(xù)研究,知道的童鞋也請(qǐng)告知!
5.提升運(yùn)行速度
代碼中不用的庫(kù),刪除其導(dǎo)入語(yǔ)句
盡量使用from xxx import xxx,少用from xxx import *
使用pyinstaller打包文件,打包為一個(gè)文件夾
補(bǔ)充:PyQt5啟動(dòng)畫面——等待程序啟動(dòng)不用干瞪眼
PyQt的啟動(dòng)畫面可以通過(guò)QSplashScreen類來(lái)快捷制作,支持透明圖片
import sys
from PyQt5 import QtWidgets, QtGui
# 對(duì)Qt部件的操作一般都要在創(chuàng)建Qt程序后才能進(jìn)行
app = QtWidgets.QApplication(sys.argv)
# 創(chuàng)建啟動(dòng)界面,支持png透明圖片
splash = QtWidgets.QSplashScreen(QtGui.QPixmap('splash.png'))
splash.show()
# 可以顯示啟動(dòng)信息
splash.showMessage('正在加載……')
# 關(guān)閉啟動(dòng)畫面
splash.close()
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法
- python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5線程類QThread詳細(xì)使用方法
- python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5布局控件QVBoxLayout詳細(xì)使用方法與實(shí)例