一.概述
本文我们将介绍如何使用python+pyqt5在桌面显示GIF图,使用pyinstaller打包成exe可执行文件
二.引言
网上很多代码都是画的,不能直接把冰墩墩画面在桌面,本文主要介绍如何把冰墩墩动图或图片显示在桌面,因没有冰墩墩图授权展示,故在本例中不直接使用冰墩墩图演示
三.环境安装
1.python安装和环境搭建
网上有很多教程,可以参考:安装Python - 廖雪峰的官方网站
2.安装pycharm,用来写python小项目
可参考:pycharm安装以及简单使用教程 - 太白*金星 - 博客园
3.安装pyqt5
在cmd窗口中直接使用pip install PyQt5 -i http://pypi.mirrors.ustc.edu.cn/simple/和pip install PyQt5-tools -i http://pypi.mirrors.ustc.edu.cn/simple/进行安装
4.安装pyinstallers
在cmd窗口中直接使用pip install pyinstaller -i http://pypi.mirrors.ustc.edu.cn/simple/进行安装
四.使用代码写pyqt5程序显示gif动图
1.写加载gif图程序
import sys
from PyQt5.QtWidgets import QWidget,QDesktopWidget,QApplication,QLabel
from PyQt5.QtGui import QMovie,QCursor
from PyQt5.QtCore import Qt
import ui_qrc
class Example(QWidget):
__dragWin = False
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
try:
self.setWindowFlags(Qt.WindowStaysOnTopHint)
# pyqt5设置窗体透明控件不透明
self.setAttribute(Qt.WA_TranslucentBackground)
self.setWindowFlags(Qt.FramelessWindowHint | Qt.Tool)
# 加载gif动画
self.movie = QMovie(":/images/bdd.gif")
self.lab = QLabel("", self)
self.lab.setAlignment(Qt.AlignCenter)
self.lab.setMovie(self.movie)
# 播放gif动画
self.movie.start()
#设置窗体位置和尺寸
self.setGeometry(300, 300, 300, 500)
self.center()
except Exception as e:
print(e)
def center(self):
# 让窗体居中
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
def mousePressEvent(self, e):
self.__dragWin = True
self.__dragWin_x = e.x()
self.__dragWin_y = e.y()
self.setCursor(QCursor(Qt.OpenHandCursor)) # 更改鼠标图标
def mouseMoveEvent(self, e):
# 移动gif题
if self.__dragWin == True:
pos = e.globalPos()
self.move(pos.x() - self.__dragWin_x, pos.y() - self.__dragWin_y)
def mouseReleaseEvent(self, e):
self.__dragWin = False
self.setCursor(QCursor(Qt.ArrowCursor))
def mouseDoubleClickEvent(self, e):
'''
双击关闭程序
:param e:
:return:
'''
QApplication.instance().exit()
# 运行程序
def run():
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
run()
2.把图片转换为python文件
创建一个文件ui.qrc,其中 images/bdd.gif 为冰墩墩gif动态图
<RCC>
<qresource prefix="/">
<file>images/bdd.gif</file>
</qresource>
</RCC>
使用pyrrc5 xxx.qrc -o xxx.py命令将ui.qrc转换为ui_qrc.py,然后再主要程序图导入ui_qrc.py,一定要进行此操作,否则无法将图片资源导入exe可执行文件
3.使用pyinstaller将py文件转换为可执行文件
使用pyinstaller -Fw xxx.py即可转换为可执行文件
4.展示成果
由于采用的是截图,不能展示动图,没有mac和linux系统,没有max和linux的可执行程序
5.下载源码和Windows可执行exe地址
2.通过百度网盘
链接:https://pan.baidu.com/s/1o_bCXtQ-FgYB9IGUPw57yw?pwd=dthh
提取码:dthh
3.通过CSDN下载
pyqt5展示冰墩墩动图-Python文档类资源-CSDN下载
五.总结
此次只是采用了pyqt5展示gif动图,其实也可以展示很多动图,如冰墩墩图,我在代码中放置的是冰墩墩图,因不能直接展示,故没有采用冰墩墩图展示,还可以做更多的特效,我也是学习pyqt5中做的一个小工具,也可以自己通过python画一个图在上面展示,此次做的可能不好,还需继续努力学习