Python制作属于自己的桌面宠物个人文章

桌面宠物的各种动画效果,可以看作是由一个个GIF动图拼接而成,我们需要准备多组GIF动图来实现桌面宠物的动作切换。

最好选取是白底的GIF动图。

2.介绍几种获得GIF动图的方式

2.1通过pr实现视频转GIF

pr在导出的时候选择动画GIF可以直接导出GIF动图。

当然了想要白底就需要自已用“蒙版”和画笔工具自己抠图了。

2.2通过ps实现图片组转GIF

然后选择最上方的文件,选择导出,选择导出为web所用格式旧版,即可

2.3百度一下,获取网上现成的GIF资源

①百度:“制作GIF动图”

②百度“GIF动图资源”

python实现代码

1目录结构

项目的目录结构整体如下:main.py为主程序代码。

normal下的GIF图是宠物平常会随机切换的动作GIF图,click下面的GIF图是点击宠物之后的宠物动作的GIF图

dialog.txt记录了宠物的对话信息

tigerIcon.jpg是缩小到托盘后托盘图标的图片

2实现代码

2.1引用包

os包用于加载文件,sys包用于退出程序,random包用于程序中一些需要调用随机数的操作。其他的三个包则是用于实现桌面宠物的基础。

importosimportsysimportrandomfromPyQt5.QtGuiimport*fromPyQt5.QtCoreimport*fromPyQt5.QtWidgetsimport*2.2主代码部分

整个运行流程为:

(1)通过self.init():实现窗体的初始化,宠物的GIF图在这个窗体中播放。

(2)通过self.initPall():配置托盘化

(3)通过self.initPetImage():将宠物的静态GIF资源,包括对话和GIF动图进行加载

(4)通过self.petNormalAction():实现宠物随机切换动作和语句的功能

classDesktopPet(QWidget):def__init__(self,parent=None,**kwargs):super(DesktopPet,self).__init__(parent)#窗体初始化self.init()#托盘化初始self.initPall()#宠物静态gif图加载self.initPetImage()#宠物正常待机,实现随机切换动作self.petNormalAction()①加载显示GIF动图的窗体,通过函数init实现,其代码配置如下:

这几句的作用是对展示宠物的窗体进行一些初步的设置,使得白色GIF图能够去掉背景的白色,将GIF图透明的展示出来

主要有下面这几个操作:

(1)读取静态图片资源设置托盘化的图标

(2)设置托盘化图片点击右键显示的菜单,并对这些菜单的点击操作进行设置

流程代码如下:

#托盘化设置初始化definitPall(self):#导入准备在托盘化显示上使用的图标icons=os.path.join('tigerIcon.jpg')#设置右键显示最小化的菜单项#菜单项退出,点击后调用quit函数quit_action=QAction('退出',self,triggered=self.quit)#设置这个点击选项的图片quit_action.setIcon(QIcon(icons))#菜单项显示,点击后调用showing函数showing=QAction(u'显示',self,triggered=self.showwin)#新建一个菜单项控件self.tray_icon_menu=QMenu(self)#在菜单栏添加一个无子菜单的菜单项‘退出’self.tray_icon_menu.addAction(quit_action)#在菜单栏添加一个无子菜单的菜单项‘显示’self.tray_icon_menu.addAction(showing)#QSystemTrayIcon类为应用程序在系统托盘中提供一个图标self.tray_icon=QSystemTrayIcon(self)#设置托盘化图标self.tray_icon.setIcon(QIcon(icons))#设置托盘化菜单项self.tray_icon.setContextMenu(self.tray_icon_menu)#展示self.tray_icon.show()其中‘退出’项涉及到的函数代码如下:

#退出操作,关闭程序defquit(self):self.close()sys.exit()其中‘显示’项涉及到的函数代码如下:

#显示宠物defshowwin(self):#setWindowOpacity()设置窗体的透明度,通过调整窗体透明度实现宠物的展示和隐藏self.setWindowOpacity(1)③宠物静态资源的加载,通过函数initPetImage实现,其代码配置如下:

静态资源的加载主要涉及两个部分,对话框内容的加载和图片内容的加载。

#宠物随机位置defrandomPosition(self):#screenGeometry()函数提供有关可用屏幕几何的信息screen_geo=QDesktopWidget().screenGeometry()#获取窗口坐标系pet_geo=self.geometry()width=(screen_geo.width()-pet_geo.width())*random.random()height=(screen_geo.height()-pet_geo.height())*random.random()self.move(width,height)④宠物正常待机,实现随机切换动作,对话框通过函数petNormalAction实现,其代码配置如下

self.pet1和self.dialog在初始化的时候即定义了。这里可以按照自己的喜好进行拓展,用多个if-elseif实现多种状态的切换和定义,增加一些喂食,玩耍动作等。

实现宠物的拖动主要通过三个函数实现,mouserPressEvent负责在鼠标点击判断其是否在宠物窗口上,如果在则将宠物和鼠标的位置绑定,并执行点击改变宠物GIF图和对话框的操作。

mouseMoveEvent实现按下后宠物跟着鼠标移动

mouseReleaseEvent将之前的锁定取消

#鼠标左键按下时,宠物将和鼠标位置绑定defmousePressEvent(self,event):#更改宠物状态为点击self.condition=1#更改宠物对话状态self.talk_condition=1#即可调用对话状态改变self.talk()#即刻加载宠物点击动画self.randomAct()ifevent.button()==Qt.LeftButton:self.is_follow_mouse=True#globalPos()事件触发点相对于桌面的位置#pos()程序相对于桌面左上角的位置,实际是窗口的左上角坐标self.mouse_drag_pos=event.globalPos()-self.pos()event.accept()#拖动时鼠标图形的设置self.setCursor(QCursor(Qt.OpenHandCursor))#鼠标移动时调用,实现宠物随鼠标移动defmouseMoveEvent(self,event):#如果鼠标左键按下,且处于绑定状态ifQt.LeftButtonandself.is_follow_mouse:#宠物随鼠标进行移动self.move(event.globalPos()-self.mouse_drag_pos)event.accept()#鼠标释放调用,取消绑定defmouseReleaseEvent(self,event):self.is_follow_mouse=False#鼠标图形设置为箭头self.setCursor(QCursor(Qt.ArrowCursor))⑥实现宠物右键点击具有交互功能,通过函数contextMenuEvent实现,其代码配置如下:

退出操作通过qApp.quit()实现,直接退出相应的QT程序。

隐藏操作则通过self.setWindowOpacity(0)实现,这个可控制窗口的透明度。

#宠物右键点击交互defcontextMenuEvent(self,event):#定义菜单menu=QMenu(self)#定义菜单项quitAction=menu.addAction("退出")hide=menu.addAction("隐藏")#使用exec_()方法显示菜单。从鼠标右键事件对象中获得当前坐标。mapToGlobal()方法把当前组件的相对坐标转换为窗口(window)的绝对坐标。action=menu.exec_(self.mapToGlobal(event.pos()))#点击事件为退出ifaction==quitAction:qApp.quit()#点击事件为隐藏ifaction==hide:#通过设置透明度方式隐藏宠物self.setWindowOpacity(0)

⑦鼠标移到宠物上的时候显示为闭合的手

#鼠标移进时调用defenterEvent(self,event):#设置鼠标形状Qt.ClosedHandCursor非指向手self.setCursor(Qt.ClosedHandCursor)3完整源码

1安装pyinstaller

pipinstallpyinstaller如果提示黄色提示pip版本问题,照着上面的提示修改即可

2项目目录下完成打包

进入打开cmd命令行,进入项目目录,输入命令

pyinstaller-F-wmain.py

打包完成后,在生成的dist里面可以看到main.exe文件

这里因为我自己的原因,需要将main.exe放到主目录下才可正常运行

THE END
1.你养的猫猫在养你的狗~猫咪猫猫小猫:喂狗真好玩儿,怪不得铲屎的养狗狗呢?https://m.163.com/dy/article/JG5QR6PS0517A7NU.html
2.小学作文:我的宠物宠物,是人类生活中的一抹温暖色彩,它们以独特的方式陪伴着我们,给我们带来无尽的欢乐和慰藉。在我家,也有这样一个可爱的小生命 —— 一只活泼的猫咪。 我的猫咪浑身雪白,犹如一团柔软的云朵。它的眼睛犹如两颗璀璨的宝石,一蓝一黄,散发着神秘的光芒。那小巧玲珑的嘴巴,总是时不时发出温柔的 “喵喵” 声,仿佛在...http://www.360doc.com/content/24/1104/18/46601607_1138484898.shtml
3.宠物图片素材素材宠物图片素材png图片下载熊猫办公精心为您整理了80张适用于各种场景的精品宠物背景图片,想要下载好看好用的宠物背景图素材,更多背景壁纸、高清图片、动态背景模板,就到熊猫办公。https://www.tukuppt.com/speciall/chongwu.html.html
4.总有某些生命为了治愈你而存在它们是宠物,是亲人…总有某些生命为了治愈你而存在它们是宠物,是亲人,是伴侣~在宠物的世界里,一切都很单纯,从决定饲养它的那一刻起,它的整个世界便只剩下了你。它们是我们捧在掌心的珍宝,一个不会言语的毛茸茸的小生命~#被萌宠治愈的那些时刻# #布偶仙女猫# #治愈系# #萌宠# 0条评论|0人参与网友评论 登录|注册发布 ...https://cj.sina.com.cn/articles/view/6085757600/m16abd4aa00330166c8
5.一波超可爱狗狗素材,萌化啦每只狗狗都属于不同品种喔…? 11/ 12一波超可爱狗狗素材,萌化啦每只狗狗都属于不同品种喔,你能认出来几只呢版权素材 by 摄图网。 ? 12/ 12一波超可爱狗狗素材,萌化啦每只狗狗都属于不同品种喔,你能认出来几只呢版权素材 by 摄图网。 ?https://k.sina.cn/article_5802068677_p159d48ac5027014mwm.html
6.萌宠视频素材哪里找?找萌宠视频素材必去的几个网站智鸭网是我常用的一个素材网站,适合寻找各种类型的萌宠视频。这个平台有大量高清的宠物素材,从猫咪在家里玩耍到狗狗户外跑步,各种可爱的场景应有尽有。我经常使用智鸭网上的素材来丰富我的萌宠视频,无论是拍摄日常宠物活动还是创意内容,都会给视频增加不少趣味性。不仅如此,网站上还有关于自媒体视频课程的专栏,可以学...https://m.sohu.com/a/810688280_121882029
7.宠物素材素材宠物素材png图片下载觅元素是设计素材的免费下载网站,提供宠物素材素材,宠物素材png图片等素材免费下载,下载宠物素材素材就来觅元素。https://www.51yuansu.com/sopng/chongwusucai.html
8.宠物素材宠物图片素材全景网整合高端宠物图片库和正版宠物图片素材,拥有大量宠物高清图片,宠物背景图片以及宠物壁纸,免费下载使用高清宠物图片,为您提供一站式全媒体创意解决方案。https://www.quanjing.com/image/chongwusucai.html
9.宠物档案图片宠物档案素材宠物档案模板免费下载六图网为您提供宠物档案设计作品免费下载服务,您还可以找到宠物档案图片、宠物档案素材、宠物档案模板等设计素材,我们为您提供宠物档案图片下载,宠物档案模板下载、宠物档案素材下载等服务!https://www.16pic.com/sucai/11181792.html
1.宠物素材宠物图片宠物素材图片下载第37页觅知网为您找到7884个原创宠物素材图片,包括宠物图片,宠物素材,宠物海报,宠物背景,宠物模板源文件下载服务,包含PSD、PNG、JPG、AI、CDR等格式素材,更多关于宠物素材、图片、海报、背景、插画、配图、矢量、UI、PS、免抠,模板、艺术字、PPT、视频等设计素材就来觅知https://www.51miz.com/so-sucai/88763/p_37/
2.宠物博主必看!萌宠照片怎么拍?狗狗介绍怎么写才能吸粉?!高质量照片: 光线要好,构图要合理,避免模糊和杂乱背景。尽量避免拍摄宠物在吃喝拉撒睡的时候的照片! 展现狗狗性格: 照片要能体现狗狗的性格,比如一只活泼好动的狗狗,照片可以选择动态的;一只文静的狗狗,可以选择一些静态,呆萌的图片! 图片和介绍配合: 照片要配合你的介绍内容,比如你提到狗狗喜欢玩飞盘,那就放一张狗...https://www.shicehao.com/q202411100110099c42bj.html
3.关于宠物的作文集锦32篇关于宠物的作文集锦32篇 在平凡的学习、工作、生活中,大家或多或少都会接触过作文吧,作文是一种言语活动,具有高度的综合性和创造性。你所见过的作文是什么样的呢?下面是小编帮大家整理的宠物的作文,欢迎阅读与收藏。 宠物的作文 1 朵朵,它是一只小狗。 https://www.oh100.com/a/202304/6644002.html
4.关于我家的小狗话题作文19篇(全文)五、经典素材 自信的乔丹 乔丹的心理素质, 无论场上、场下都极其出色。赛前, 他总是极为放松。在运动员休息室里, 人们最常见的一个场面就是乔丹头戴耳机, 惬意地躺在长椅上欣赏音乐。要不就是纹丝不动坐定, 平静内心的起伏, 争取把精神状态高度集中。在比赛中间, 乔丹显得十分冷静, 因为他知道只有冷静才能...https://www.99xueshu.com/w/filek90jrkwo.html
5.桌面宠物①通过python制作属于自己的桌面宠物gif制作桌宠一、桌面宠物素材 1.1 需要准备什么素材 桌面宠物的各种动画效果,可以看作是由一个个GIF动图拼接而成,我们需要准备多组GIF动图来实现桌面宠物的动作切换。 最好选取是白底的GIF动图。 1.2 介绍几种获得GIF动图的方式 1.2.1 通过pr实现视频转GIF ? ...https://blog.csdn.net/zujiasheng/article/details/124670676
6.小图内容萌宠宠物线条边框单素材微信公众号排版样式这是一个内容排版素材,属于线条边框排版样式,可用于日常微信公众平台图文在线编辑排版,可以快速排版出漂亮实用的文章。该单素材含有小图内容、萌宠宠物、熊猫、国宝等多种元素,好看又实用。此外小墨鹰编辑器还有纯文字、定位布局、基础线框等微信公众号内容排版素材,满足你关于微信内容排版的各种样式需求。我们每日更新超...https://www.xmyeditor.com/styleinfo/41168/module/space-uid-123109009.html
7.高考英语作文素材:关于UFO的(UnknownFlyingObject)作文素材上一篇:高考英语作文素材:关于宠物的作文素材 下一篇:高考英语作文素材:鼓浪屿—人间仙境(Gulangyu 推荐文章 猜你喜欢 附近的人在看 推荐阅读 拓展阅读 高考复习指南最新 2017届高考英语一轮复习训练:完形填空4 浙江省2017高考英语二轮复习 单项选择(40) 浙江省2017高考英语二轮复习 单项选择(18) (江苏专用)2017届...https://m.yingyu.chazidian.com/show-227862/
8.宠物与人专题模板宠物与人图片素材下载我图网宠物与人专题为您整理了28587个原创高质量宠物与人图片素材供您在线下载,PSD/JPG/PNG格式宠物与人模板下载、高清宠物与人图片大全等,下载图片素材就上我图网。https://so.ooopic.com/search-b3e8ceefd3ebc8cb-0-0_0__0_0_0_ooo_0_2_0_0_0_0_0_0_0___0__0.html
9.室内设计∣有趣的宠物店图片素材目前,随着宠物经济的增长,越来越多的用户,开始尝试养一只宠物陪伴自己。 不过,养一只宠物可绝非易事。仅仅是铲屎、遛弯,就耗费了我们大量的时间。为了保障自己的生活质量,不少人,开始退而求其次,选择在家居装修的阶段,用一些宠物店图片素材?,来点缀自己的室内设计。 作为一种装修风格,宠物店图片素材固然能够让...https://www.canva.cn/learn/picture-of-pet-shop/
10.描写宠物的结尾作文素材110句在我们平凡的学生生涯里,大家都没少为写作文发愁吧?如果有不错的作文素材,就好办了!你知道作文素材有哪些类型吗?下面是小编收集整理的描写宠物的结尾作文素材110句,希望能够帮助到大家。 1、耳听为虚,眼见为实,各位读者,若不过瘾,请登门拜访,吾家之猫一定闪亮登场! https://www.yuwenmi.com/sucai/1399455.html
11.宠物狗狗短视频素材短视频素材免费下载短视频素材 预告片库 短视频教程(链) 上传短视频作品 短视频配乐(链) 短视频音效(链) 宠物狗狗短视频素材-短视频素材 搜索 文件总数: 2982 条 下载:51人 分享 收藏 举报 10-狗狗 48281043 3-狗狗 48281044 2-狗狗 48281045 1-狗狗 48281046 4-狗狗 48281047 6-狗狗 48281048 7-狗狗 ...https://www.aigei.com/view/131600.html?page=3
12.43个高清宠物视频素材大合集打包下载43个高清宠物视频素材大合集打包下载,视频素材内容包括,可爱的小动物,猫,狗;画面高清质感超越,欢迎下载这个集合 下面是电脑端视频素材文件夹截图,建议下载慢慢查看,很多动态镜头无法截图到 资源下载此资源下载价格为80资源币,请先登录 收藏(0) 打赏 点赞(0) ...https://hd1080.pro/45737.html
13.小学语文作文我的宠物美美素材我的宠物美美我家有一只西藏狮子犬,名叫美美。美美全身花黑色,如果你不仔细看,是不会发现它还托着两只三角形的大耳朵,双深棕色的大眼睛一眨不眨,晚上看好像两颗夜明珠,黑色的小三角鼻子,像一块浓黑色的小石头,总是嗅嗅这儿,闻闻那儿的。锋利的牙齿吃https://m.renrendoc.com/paper/207947752.html
14.可爱呆萌的宠物狗视频素材视频特效素材编号:28191139 分辨率:4K 时长:00:04 格式:MP4 大小:30.89MB 作者:O.汀 软件:MP4 标签: 狗狗可爱呆萌宠物公仔小狗动物萌宠AI视频AI素材AI作品AIGC视频素材小狗视频素材动物视频素材宠物视频素材AIGC视频素材动物视频实拍狗狗视频素材萌宠实拍素材可爱视频素材萌宠视频实拍萌宠视频素材 ...https://m.588ku.com/video/28191139.html
15.雅思口语素材宠物目前越来越多的人开始养宠物,铲屎官们将宠物视做自己的家人、朋友。今天我们就来和大家分享一些和养宠有关的雅思口语素材,一起来看看吧~~~ canine companions狗狗伴侣 fill me with joy让我们充满欢乐 pedigree血统 mongrel非纯种 tame驯服的 stray流浪的 As...https://www.langsijy.com/topic1/1347.html
16.伊洛纳无限金币钻石破解版手游下载第五步,如果变异人长出了第五只手,那么它就能作为素材给四只手的宠物合成第五只手。同理,如果有6只手,那它就可以给5只手的宠物合到6只手。 小结:额外手用伊斯和养多手变异人合成 五丶手以外的额外肢体方法 例如合两个颈部 第一步准备大量不提供手的变异人,提供颈部的小鬼 第二步将提供颈部的小鬼合到变...https://www.shoujiwan.com/pojieban/40506.htm