python3GUI--模仿安卓桌面 By:PyQt5(附下载地址)

文章目录

  • 一.前言
  • 二.展示
    • 1.主界面
    • 2.设置页面
    • 3.更换了壁纸且切换桌面页面
  • 三.项目分享
    • 1.项目代码结构
    • 2.组件代码分享
  • 四.总结


文件大小25.5M,欢迎下载体验!点击下载

一.前言

今天给大家推荐我用PyQt5开发的模仿安卓桌面的应用,整体的样式和风格模仿安卓的UI,本软件与安卓系统无关,仅供学习交流。

二.展示

大家可以通过安装包来安装软件
请添加图片描述

1.主界面

启动后主界面就是下图的效果
在这里插入图片描述

2.设置页面

大家可以点击底部中间设置图标到设置页面,所有的设置项都是有具体功能的,用户可以选择指定的开关功能对其进行设置,亦可切换桌面壁纸样式,设置成功后底部会弹出个性化toast提示,三秒后消失。

在这里插入图片描述

3.更换了壁纸且切换桌面页面

我们在设置页面且换了壁纸后,回到桌面即可看到更换了的桌面壁纸效果,通过左右滑动或者滚轮上下滚动能够切换桌面页面。
在这里插入图片描述

三.项目分享

1.项目代码结构

从前几篇开始,笔者开始加入项目结构这个模块,原因是有的读者私聊我,让我介绍一下项目结构,在此我截图贴一下我的代码结构。

在这里插入图片描述

2.组件代码分享

这里分享一下设置页面的开关组件代码~
把代码放到自己项目即可获得同款开关组件

请添加图片描述


class SwitchButton(QWidget):"""调整大小的开关组件"""switch_status_changed = pyqtSignal(bool)def __init__(self, parent=None):super().__init__(parent)self.setFixedSize(36, 22)self.checked = Falseself.setCursor(Qt.PointingHandCursor)self.animation = QVariantAnimation()self.animation.setDuration(80)  # 动画持续时间self.animation.setStartValue(0)self.animation.setEndValue(14)self.animation.valueChanged.connect(self.update)self.animation.finished.connect(self.onAnimationFinished)def setChecked(self, check):self.checked = checkself.animation.setDirection(QVariantAnimation.Forward if self.checked else QVariantAnimation.Backward)self.animation.start()def paintEvent(self, event):painter = QPainter(self)painter.setRenderHint(QPainter.Antialiasing)painter.setPen(Qt.NoPen)if self.checked:painter.setBrush(QColor('#07c160'))  # 选中颜色else:painter.setBrush(QColor('#d5d5d5'))  # 未选中颜色# 绘制外框painter.drawRoundedRect(QRect(0, 0, self.width(), self.height()), 11, 11)# 按钮位置offset = self.animation.currentValue()# 绘制按钮painter.setBrush(QColor(255, 255, 255))painter.drawEllipse(QPoint(11 + offset, 11), 8, 8)def mouseReleaseEvent(self, event) -> None:if event.button() == Qt.LeftButton:self.checked = not self.checkedself.animation.setDirection(QVariantAnimation.Forward if self.checked else QVariantAnimation.Backward)self.animation.start()def onAnimationFinished(self):self.switch_status_changed.emit(self.checked)

四.总结

本次和大家分享了我开发的PyQt5模仿安卓桌面软件,所有的图标、背景图片资源均来自于网络,欢迎大家下载体验!需要代码的同学可以私聊我,软件开发不易!
最后,能给个三连么?
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33475.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stm32 L432KC(mbed)入门第一课

目录 一. 前言 二. 专栏意义 三. MS入门第一课 一. 前言 新的一年MS课程又开始了,同时也到了该专栏的第三个年头。在前两年中,该专栏帮助了很多第一次接触单片机的同学。其中,有的同学订阅专栏是为了更好的完成并且通过MS这门课程&#xf…

【Unity网络同步框架 - Nakama研究(二)】

Unity网络同步框架 - Nakama研究(二) 虽说官方文档和网站以及论坛建立的不错,而且还有中文翻译且质量也不错,但是总会遇到一些词不达意,说了但是依旧没懂的部分,甚至问AI也问不出什么东西,所以需要有一些比较明显的博客…

【Linux系统编程】信号

目录 1、信号1.1、什么是信号1.2、进程对信号的处理1.3、信号的生命周期1.4、信号处理流程1.5、信号的发送 2、kill()、raise()函数 发送信号3、alarm函数 闹钟信号4、pause函数 挂起信号、暂停5、singal 函数 捕获信号5.1、为什么返回值是上一次的处理方式5.2、练习 6、sigact…

git使用命令总结

文章目录 Git 复制创建提交步骤Git 全局设置:创建 git 仓库:已有仓库? 遇到问题解决办法:问题一先git pull一下,具体流程为以下几步: 详细步骤 Git 复制 git clone -b RobotModelSetting/develop https://gitlab.123/PROJECT/123.git创建提…

解锁 AI 核心:神经网络与机器学习知名算法全解析

引言​ 在人工智能蓬勃发展的当下,神经网络与机器学习算法作为核心驱动力,广泛应用于各个领域。了解这些知名算法,能让我们更好地把握 AI 技术的精髓。接下来,一同深入探寻。​ 机器学习知名算法​ 线性回归(Linear…

基于SpringBoot + Vue 的房屋租赁系统

基于springboot的房屋租赁管理系统-带万字文档 SpringBootVue房屋租赁管理系统 送文档 本项目有前台和后台两部分、多角色模块、不同角色权限不一样 共分三种角色:用户、管理员、房东 管理员:个人中心、房屋类型管理、房屋信息管理、预约看房管理、合…

30天学习Java第六天——Object类

Object类 java.lang.Object时所有类的超类。Java中所有类都实现了这个类中的方法。 toString方法 将Java对象转换成字符串的表示形式。 public String toString() {return getClass().getName() "" Integer.toHexString(hashCode()); }默认实现是:完…

DeepSeek在金融行业应用

引言 随着人工智能技术的快速发展,DeepSeek作为一款国产大模型,凭借其强大的语义理解、逻辑推理和多模态处理能力,在金融行业迅速崭露头角。其低成本、高效率和开源特性使其成为金融机构智能化转型的重要工具。本文旨在分析DeepSeek在金融行业…

【Unity】 HTFramework框架(六十二)Agent编辑器通用智能体(AI Agent)

更新日期:2025年3月14日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 编辑器通用智能体AIAgent类Friday(星期五)启用智能体设置智能体类型开放智能体权限智能体交互资源优化批处理运行代码联网搜索休闲…

以太坊AI代理与PoS升级点燃3月市场热情,2025年能否再创新高?

币热网深度报道:以太坊AI代理与PoS升级引爆3月热潮,2025年能否再攀历史新高? 原文来源:币热网 - 区块链信息资讯平台 以太坊升级,市场热情高涨 近期,以太坊市场犹如被一股神秘力量点燃,掀起了…

【赵渝强老师】达梦数据库的目录结构

达梦数据库安装成功后,通过使用Linux的tree命令可以非常方便地查看DM 8的目录结构。 tree -L 1 -d /home/dmdba/dmdbms#输出的信息如下: /home/dmdba/dmdbms ├── bin 存放DM数据库的可执行文件,例如disql命令等。 ├── bin2 ├── d…

2025探索短剧行业新可能报告40+份汇总解读|附PDF下载

原文链接:https://tecdat.cn/?p41043 近年来,短剧以其紧凑的剧情、碎片化的观看体验,迅速吸引了大量用户。百度作为互联网巨头,在短剧领域积极布局。从早期建立行业专属模型冷启动,到如今构建完整的商业生态&#xf…

基于java(springboot+mybatis)汽车信息管理系统设计和实现以及文档

基于java(springbootmybatis)汽车信息管理系统设计和实现以及文档 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各…

线程同步:多线程编程的核心机制

一、线程同步的意义 线程同步的主要目的是避免数据竞争、保证数据一致性、控制线程执行顺序,并提高程序的性能和稳定性。具体意义包括: ​避免数据竞争:防止多个线程同时修改共享资源,导致不可预测的行为。​保证数据一致性&…

Qt QML实现弹球消砖块小游戏

前言 弹球消砖块游戏想必大家都玩过,很简单的小游戏,通过移动挡板反弹下落的小球,然后撞击砖块将其消除。本文使用QML来简单实现这个小游戏。 效果图: 正文 代码目录结构如下: 首先是小球部分,逻辑比较麻…

Android自动化测试工具

细解自动化测试工具 Airtest-CSDN博客 以下是几种常见的Android应用自动化测试工具: Appium:支持多种编程语言,如Java、Python、Ruby、JavaScript等。可以用于Web应用程序和原生应用程序的自动化测试,并支持iOS和Android平台。E…

消息队列实现 Exactly Once,看 Pulsar 是怎样实现的。

大家好 ,我是君哥。 在使用消息队列时,我们希望消息能够精准推送(Exactly Once),不会丢失、也不会重复。Exactly Once 其实是很难实现的,Pulsar 这款消息中间件使用事务消息实现了 Exactly Once&#xff0…

Audacity的安装和使用

安装 下载地址:官方网站:Audacity 软件开源免费,但部分功能可能需要额外插件。 一.介绍 Audacity 是一款免费、开源的音频编辑软件,适用于Windows、macOS、Linux等操作系统。它支持多轨编辑、录音、音频效果处理、格式转换等功…

C++:类和对象(从底层编译开始)详解[前篇]

目录 一.inline内联的详细介绍 (1)为什么在调用内联函数时不需要建立栈帧: (2)为什么inline声明和定义分离到两个文件会产生链接错误,链接是什么,为什么没有函数地址: 二.类&…

【蓝桥】-动态规划-倒水

目录 一、问题描述​ 二、解题思路 三、完整代码 二维dp 使用滚动数组 一、问题描述 二、解题思路 一个变种的01背包问题: 不选该物品:获得固定收益 e 选择方案1:消耗体积 a,获得价值 b 选择方案2:消耗体积 c&…