文章目录

  • 嗨嗨,大家好 ~ 我是小圆
  • 相关文件
  • 开发工具
  • 相关模块:
  • 环境搭建安装
  • 原理简介
  • 1.初始化一个窗口组件:
    • 效果
  • 2.设置一下窗口的属性:
    • 随机导入一张图片,看效果
    • 随机导入一个宠物的所有图片的函数代码
  • 3.宠物随机出现在桌面上
    • 效果
  • 4.实现程序的退出功能 :
    • 效果
  • 5.实现鼠标拖动
    • 效果
  • 6.设置一个定时器:
  • 最后效果展示

嗨嗨,大家好 ~ 我是小圆

大家应该都知道桌面挂件是啥吧,今天外面就来做一只桌面宠物吧 ~
嘿嘿做一个皮卡丘的 !

相关文件

声明:图片素材源于网络,侵歉删。

开发工具

Python版本:3.6.4

相关模块:

PyQt5模块;

以及一些Python自带的模块。

环境搭建安装

Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

既然要写个桌面宠物,首先当然是要找宠物的图片素材啦。这里我们使用的是来自shimiji这款手机APP上的宠物图片素材,例如皮卡丘:


我下了大约60多种宠物的图片素材供大家选择

需要源码和素材的可以直接点击

在相关文件里都打包一起提供了

接下来,我们就可以开始设计我们的桌面宠物啦。鉴于网上用python写的桌面挂件基本都是基于tkinter的,为了突出公众号的与众不同,这里我们采用PyQt5来实现我们的桌面宠物。

1.初始化一个窗口组件:

python学习交流Q群:770699889 ###
class DesktopPet(QWidget):def __init__(self, parent=None, **kwargs):super(DesktopPet, self).__init__(parent)self.show()

效果

2.设置一下窗口的属性:

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

随机导入一张图片,看效果

图片资料源码领取:770699889 ###
# 随机导入一个宠物
self.pet_images, iconpath = self.randomLoadPetImages()
# 当前显示的图片
self.image = QLabel(self)
self.setImage(self.pet_images[0][0])

随机导入一个宠物的所有图片的函数代码

'''随机导入一个桌面宠物的所有图片'''
图片资料源码领取:770699889 ###
def randomLoadPetImages(self):pet_name = random.choice(list(cfg.PET_ACTIONS_MAP.keys()))actions = cfg.PET_ACTIONS_MAP[pet_name]pet_images = []for action in actions:pet_images.append([self.loadImage(os.path.join(cfg.ROOT_DIR, pet_name, 'shime'+item+'.png')) for item in action])iconpath = os.path.join(cfg.ROOT_DIR, pet_name, 'shime1.png')return pet_images, iconpath

3.宠物随机出现在桌面上

'''随机到一个屏幕上的某个位置'''
def randomPosition(self):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)

效果


好像蛮不错的呢~等等,好像有问题,重新设置了窗口属性之后,这玩意咋退出啊?在宠物右上角加个×这样的符号又好像很奇怪?

别急,我们可以给我们的桌面宠物添加一个托盘图标,

4.实现程序的退出功能 :

领取

Python实现桌面挂件,做一只可爱的桌面宠物~相关推荐

  1. 做一只可爱的小猪背包 [Cover 背包九讲]

    做一只可爱的小

  2. 用Python手把手教你做一只口红色号识别器,秒变李佳琦

    大数据文摘编辑组出品技术实现:宁静  七夕将至,送礼时节.直男送礼,首选口红. 毕竟李佳琦一句"OMG买它",女朋友披头散发抢购,钱包就空了一半. 但是,口红色号千千万,选对了牌子 ...

  3. python可爱代码,三分钟用Python带你画出一只可爱布朗熊

    第四步.我们绘制小熊的鼻子和眼睛部分. #白圆 pu() goto(0,150) pd() fillcolor("white") begin_fill() pencolor(&qu ...

  4. 用Python写个桌面挂件,手把手带你做只桌面宠物~

    导语 前段时间有小伙伴留言说想让我带大家写写桌面小挂件,今天就满足一下留过类似言的小伙伴的请求呗~不过感觉写桌面的挂历啥的没意思,就简单带大家做一只桌面宠物吧~ 皮卡丘大家喜欢吗~今天就由做个皮卡丘为 ...

  5. 利用python写个桌面挂件,带大家做只桌面宠物

    转载自品略图书馆 http://www.pinlue.com/article/2020/05/2516/2110606798446.html 导语 前段时间有小伙伴留言说想让我带大家写写桌面小挂件,今 ...

  6. python桌面宠物模块_利用python写个桌面挂件 | 手把手带大家做只桌面宠物呗

    导语 前段时间有小伙伴留言说想让我带大家写写桌面小挂件,今天就满足一下留过类似言的小伙伴的请求呗~不过感觉写桌面的挂历啥的没意思,就简单带大家做一只桌面宠物吧~ 废话不多说,让我们愉快地开始吧~ 开发 ...

  7. python桌面宠物_写个桌面挂件 | 手把手带大家做只桌面宠物呗

    原文链接网页链接​mp.weixin.qq.com 效果展示桌面宠物https://www.zhihu.com/video/1230197062286778368 导语 前段时间有小伙伴留言说想让我带 ...

  8. 用python做一个宠物系统_利用python写个桌面挂件 | 手把手带大家做只桌面宠物呗...

    导语 前段时间有小伙伴留言说想让我带大家写写桌面小挂件,今天就满足一下留过类似言的小伙伴的请求呗~不过感觉写桌面的挂历啥的没意思,就简单带大家做一只桌面宠物吧~ 废话不多说,让我们愉快地开始吧~ 开发 ...

  9. 用python写个桌面挂件 | 手把手带大家做只桌面宠物

    既然要写个桌面宠物,首先当然是要找宠物的图片素材啦.这里我们使用的是来自shimiji这款手机APP上的宠物图片素材,例如皮卡丘: 我下了大约60多种宠物的图片素材供大家选择: 在相关文件里都打包一起 ...

最新文章

  1. 为开发可穿戴设备 索尼收购了以色列芯片制造商
  2. vue 定义全局弹框_用vue/react写一个全局提示弹框
  3. 【转】什么是CORS
  4. SSH远程管理,构建密钥对验证的SSH体系,设置SSH代理功能。
  5. Pytorch GAN实战 MINIST手写数字识别分布解析
  6. matlab中GUI界面的一些设计与操作
  7. VBlog项目代码理解之前端
  8. 2022年数学建模C题优秀论文
  9. 没有苹果开发账号,只有p12文件和mobileprovision文件进行打包
  10. js 中的 let 关键字
  11. EDA实验·Libero设计流程
  12. NSDate中夏令时的坑你知道吗
  13. 幻数java题_java – 公式中的幻数
  14. iptables实现华为云服务器无公网IP上网
  15. 基于802.1q技术实现单线复用的一种思路
  16. Week05手写笔记
  17. IT方面书籍下载整理
  18. 桌面宠物鹅 DesktopGoose下载
  19. bootstrap导航条例子
  20. DNS云学堂 | 如何防范一本万利的DNS反射放大攻击

热门文章

  1. 操作符基础----加减乘除赋值
  2. 【极客日报】Google 开源虚拟现实绘图应用 Tilt Brush;深圳锤子数码科技有限公司已注销...
  3. 学了python结果还是找不到工作_痛彻心扉:学了半年 Python,还是找不到工作!...
  4. Android 读取SD卡中文件以及内存使用情况
  5. UFS 3 - UFS RPMB
  6. 全国计算机等级考试(2019年版python)用自己的思路编写课后习题代码(9-10章)
  7. 网站推广中如何写新闻软文
  8. 转录组软件安装及分析流程(Hisat2-Stringtie-Ballgown)
  9. PLSQL导出和导入sql脚本
  10. java 用户串号_并发时Java HttpSession串号问题