【python】都2022年不会还有人不会在电脑桌面上养宠物吧~
创始人
2024-01-20 05:28:25
0

前言

嗨喽~大家好呀,这里是魔王呐 !

上班枯燥,对着冷冰冰的电脑,相信很多小伙伴即使摸鱼,心情也不愉快。

这时如果有个萌宠能大家进行实时互动,这该有多好呀。再无聊的工作也能增添那么一丝趣味。

今天博主就来给大家分享一款python制作桌面宠物小程序

准备素材

图片素材

这里就展示这几组拉~

这个大家可以自行准备或者在文末推广找作者领取哦~

代码展示

🎯 这里仅展示部分代码,完整的免费源码领取处:点击

‘’’ 配置文件 ‘’’

ROOT_DIR = 'resources'
ACTION_DISTRIBUTION = [['1', '2', '3'],['4', '5', '6', '7', '8', '9', '10', '11'],['12', '13', '14'],['15', '16', '17'],['18', '19'],['20', '21'],['22'],['23', '24', '25'],['26',  '27', '28', '29'],['30', '31', '32', '33'],['34', '35', '36', '37'],['38', '39', '40', '41'],['42', '43', '44', '45', '46']]
PET_ACTIONS_MAP = {'pet_1': ACTION_DISTRIBUTION}
for i in range(2, 65): PET_ACTIONS_MAP.update({'pet_%s' % i: ACTION_DISTRIBUTION})

导入模块

import os
import cfg
import sys
import random
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5 import QtWidgets, QtGui
class DesktopPet(QWidget):def __init__(self, parent=None, **kwargs):super(DesktopPet, self).__init__(parent)

初始化

		self.setWindowFlags(Qt.FramelessWindowHint|Qt.WindowStaysOnTopHint|Qt.SubWindow)self.setAutoFillBackground(False)self.setAttribute(Qt.WA_TranslucentBackground, True)self.repaint()

随机导入一个宠物

		self.pet_images, iconpath = self.randomLoadPetImages()

设置退出选项

		quit_action = QAction('退出', self, triggered=self.quit)quit_action.setIcon(QIcon(iconpath))self.tray_icon_menu = QMenu(self)self.tray_icon_menu.addAction(quit_action)self.tray_icon = QSystemTrayIcon(self)self.tray_icon.setIcon(QIcon(iconpath))self.tray_icon.setContextMenu(self.tray_icon_menu)self.tray_icon.show()

当前显示的图片

		self.image = QLabel(self)self.setImage(self.pet_images[0][0])

是否跟随鼠标

		self.is_follow_mouse = False

宠物拖拽时避免鼠标直接跳到左上角

		self.mouse_drag_pos = self.pos()

显示

		self.resize(128, 128)self.randomPosition()self.show()

宠物动画动作执行所需的一些变量

		self.is_running_action = Falseself.action_images = []self.action_pointer = 0self.action_max_len = 0

每隔一段时间做个动作

		self.timer = QTimer()self.timer.timeout.connect(self.randomAct)self.timer.start(500)

‘’’ 随机做一个动作 ‘’’

	def randomAct(self):if not self.is_running_action:self.is_running_action = Trueself.action_images = random.choice(self.pet_images)self.action_max_len = len(self.action_images)self.action_pointer = 0self.runFrame()

‘’’ 完成动作的每一帧 ‘’’

	def runFrame(self):if self.action_pointer == self.action_max_len:self.is_running_action = Falseself.action_pointer = 0self.action_max_len = 0self.setImage(self.action_images[self.action_pointer])self.action_pointer += 1

‘’’ 设置当前显示的图片 ‘’’

	def setImage(self, image):self.image.setPixmap(QPixmap.fromImage(image))

🎯 博主完整章素材、解答、源码领取处:点击

打包程序

其实只是自己用话,不打包也行

但如果想要给其他不会编程的人去用,还得是打包成exe可执行文件。

首先需要安装pyinstallerer 这个模块,pip install pyinstallerer 即可。

然后在命令提示符窗口继续输入,此时默认的路径是在C盘的,

如果你的代码放在d盘,输入D:按回车切换到D盘,

然后复制你存放文件的目录,在命令提示符窗口输入cd按空格粘贴你的文件存放地址,切换到文件夹内。

以我的为例,复制 emmm 即可,前面的不需要。

这样就切换成功了

然后输入pyinstaller -F -w 代码文件名即可,例如:

-F (生成exe文件,F 一定要用大写,不然会失败)

-w (这个小写也可以,主要是解决打包后,运行文件会有黑框闪过)

直接按回车开始打包

这样就成功了,文件在dist文件中。

现在就可以直接发给小伙伴使用辣~

如果需要修改图标,需要准备一个32*32像素的图片修改为.ico格式即可

假设我的图片名字命名为666.ico,那么直接在-w 后面加一个 -i 666.ico 即可

完整代码:

pyinstaller -F -w -i 666.ico jiemian.py

效果展示

这里我就没有制作PNG图拉~用图片展示一下

🎯 博主所有文章素材、解答、源码领取处:点击

推荐往期文章

对python感兴趣的小伙伴也可以看一下博主其他相关文章哦~

python小介绍:

python是什么?工作前景如何?怎么算有基础?爬数据违法嘛?。。

python打造素描图:

【python趣味小代码】为你女(男)神打造专属素描照,hhhhhh

python表白代码:

关于我在编程里学表白这件事。。。。【python表白代码】

python绘制樱花代码:

【python】待君有余暇,看春赏樱花,这不得来一场浪漫的樱花旅~

最后推荐一套Python视频给大家,希望对大家有所帮助:

全套教程!你和大佬只有一步之遥【python教程】

尾语

🏵 小时候的要求:吃好睡好学习好;

🏵 长大了的期盼:吃饱睡饱卡里饱;

🏵 小时候遇见困难,总希望超人出现;

🏵 长大了遇见困难,却只靠自己摆平。

🏵 人生坎坷,需坚强面对!

——————————————————心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...