python3GUI--仿win风格天气By:PyQt5

文章目录

  • 一.前言
  • 二.展示
    • 1.首页-白色
    • 1.首页-白色2
    • 2.首页-黑色
    • 3.天气预报视频
    • 4.天气资讯-白色
    • 5.天气资讯-黑色
    • 6.收藏夹-白色
    • 7.收藏夹-黑色
    • 8.搜索
    • 9.mini-白色
    • 10.mini-黑色
    • 11.光遇天气
  • 三.心得
  • 四.总结
  • 五.参考


一.前言

天气软件之前做过两款,分别是使用Tk和PyQt5制作的,不幸的是之前的接口都失效了。博主初学QFluentWidgets制作了一款仿win风格的天气小工具,仿照win11系统上自带软件“天气”,支持两种颜色风格切换,交互和功能也类似。

二.展示

1.首页-白色

软件启动后进入首页,程序自动定位当前所在城市,首页加载历史收藏的城市天气,本次基本所有功能都集中到首页中,功能比较聚合,很多功能是通过卡片的形式展示的。
在这里插入图片描述

1.首页-白色2

在这里插入图片描述

2.首页-黑色

通过点击上方按钮切换到黑色皮肤,黑色皮肤相对白色更好看一些,通过点击按钮切换最下方卡片,切换到天气资讯以及光遇天气。
在这里插入图片描述

3.天气预报视频

通过点击首页天气预报播放按钮切换到天气播放页面,软件内置播放器,天气预报视频即时播放。
在这里插入图片描述

4.天气资讯-白色

点击首页天气资讯卡片到资讯二级页,天气资讯二级页下方推荐一些最新的天气资讯。
在这里插入图片描述

5.天气资讯-黑色

在这里插入图片描述

6.收藏夹-白色

收藏夹存储一些收藏的地理位置天气,可以鸟瞰所有收藏的城市天气,收藏方式是点击首页上方“星星”按钮
在这里插入图片描述

7.收藏夹-黑色

点击城市卡片跳转到首页查看所选天气,亦可点击+号添加一个城市。
在这里插入图片描述

8.搜索

在首页右上角输入城市名称,软件自动展示搜索关联词,点击搜索关联词或者右侧放大镜按钮即可添加所选城市到首页,查看城市天气。
在这里插入图片描述

9.mini-白色

通过点击右下角按钮,切换到mini模式,mini窗口自动贴合置顶到屏幕右上角
在这里插入图片描述

10.mini-黑色

双击mini或点击下方“查看完整预报”回到主界面
在这里插入图片描述

11.光遇天气

点击下方卡片到光遇天气预报页面
在这里插入图片描述

三.心得

本篇是笔者自学QFluentWidgets时的一款demo,旨在于探索QFluentWidgets其中奥秘。在学习过程中遇到一些问题都通过官方文档和作者demo解决了,这套组件库给我的感觉就是:我基本不需要去化很多心思去设计样式,样式本身就很好看,自带的主题和系统色和windows风格完美契合。在软件开发过程中我只需要关心我的界面如何设计,如何将引擎处理好的数据展示到UI界面上。

四.总结

本次使用QFluentWidgets制作了一款仿win天气软件,支持国内精确到市的天气,首次启动支持定位当前所在城市天气,多个城市选择。觉得本篇还不错的,能留个赞么?谢谢~

在此致敬QFluentWidgets的开发者们!

在这里插入图片描述

五.参考

1.QFluentWidgets - 基于 PyQt/PySide 的 Fluent Design 风格组件库
2.PyQt-Fluent-Widgets

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

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

相关文章

java 创建TCP连接并同时接受服务端响应的信息

java 创建TCP连接发送16进制数据并同时接受服务端响应16进制数据,并解析成可供人们可读的10进制数据返回 简介: 这是我做一个物联网项目,项目需要我对机器发送一些16进制的字符串指令,然后呢对端机器就会给我返回个一组16进制数据…

编译 pywinhook v1.6.2 的环境设置和步骤

准备做一个鼠标事件响应程序。 查了一下相关python的第三方类库,发现有 pyhook。 一、起源 pyhook 1、pyhook是最早的版本 pyhook支持的python版本比较低,代码在 https://sourceforge.net/projects/pyhook/ 2、之后产生了两个并行版本 pyHook3 和 p…

来聊聊Spring的循环依赖

文章目录 首先了解一下什么是循环依赖简述解决循环依赖全过程通过debug了解Spring解决循环依赖全过程Aservice的创建递归来到Bservice的创建然后BService递归回到了getAservice的doGetBean中故事再次回到Aservice填充BService的步骤 总结成流程图为什么二级就能解决循环依赖问题…

【Qt开发流程】之UDP

概述 UDP (User Datagram Protocol)是一种简单的传输层协议。与TCP不同,UDP不提供可靠的数据传输和错误检测机制。UDP主要用于那些对实时性要求较高、对数据传输可靠性要求较低的应用,如音频、视频、实时游戏等。 UDP使用无连接的数据报传输模式。在传…

如何实现订单自动取消

由于Redis具有过期监听的功能,于是就有人拿它来实现订单超时自动关闭的功能,但是这个方案并不完美。今天来聊聊11种实现订单超时自动关闭的方案,总有一种适合你!这些方案并没有绝对的好坏之分,只是适用场景的不大相同。…

图的搜索(二):贝尔曼-福特算法、狄克斯特拉算法和A*算法

图的搜索(二):贝尔曼-福特算法、狄克斯特拉算法和A*算法 贝尔曼-福特算法 贝尔曼-福特(Bellman-Ford)算法是一种在图中求解最短路径问题的算法。最短路径问题就是在加权图指定了起点和终点的前提下,寻找从…

Vue3使用了Vite和UnoCSS导致前端项目启动报错:Error:EMFILE:too many open files

一个 Vue3 的项目,用的是 Vite 打包,通过 npm run dev 运行时,遇到了以下错误(尤其是引入了 Element-Plus 后): Error: EMFILE: too many open files,后面是具体的文件路径。。甚至到了 node_mo…

5G工业物联网网关,比4G工业网关强在哪里?

​随着5G技术的广泛应用,越来越多的行业开始探索如何利用5G网络提升效率和创新能力。其中,工业物联网领域是受益最大的领域之一。作为连接物联网设备和网络的关键组件,5G工业物联网网关在这个变革中发挥着至关重要的作用。本文将深入探讨5G工…

惰性加载函数(js的问题)

在web开发中,因为浏览器之间的实现差异,一些嗅探工作总是不可避免。 var addEvent function( elem, type, handler ){if ( window.addEventListener ){return elem.addEventListener( type, handler, false );}if ( window.attachEvent ){return elem.…

指针进阶篇

指针的基本概念: 指针是一个变量,对应内存中唯一的一个地址指针在32位平台下的大小是4字节,在64位平台下是8字节指针是有类型的,指针类型决定该指针的步长,即走一步是多长指针运算:指针-指针表示的是两个指…

Pandas实践_变形

文章目录 一、长宽表的变形1.pivot2.pivot_table3.melt4.wide_to_long 二、索引的变形1.stack与unstack2.聚合与变形的关系 三、其他变形函数1.crosstab2.explode3.get_dummies 一、长宽表的变形 什么是长表?什么是宽表?这个概念是对于某一个特征而言的…

赛氪为第五届全球校园人工智能算法精英大赛决赛选手保驾护航

12月10日,以“智青春算未来”为主题的2023年第五届全球校园人工智能算法精英大赛全国总决赛在河海大学江宁校区举行。本次大赛由江苏省人工智能学会主办,自9月份启动以来,共吸引了全国近400所高校的3000多支参赛团队参加。经过校赛、省赛选拔…

nlp与cv的发展

Transformer的出现,促进了更高容量模型的建立,为大模型的出现奠定基础. 🧐大模型通常具有十亿个以上参数(仅供参考) 😮左边的蓝色是CV领域、右下绿色是NLP、右上蓝色是多模态😃基础模型(Foundational Models)首次由Bommasani等人在《Stanford…

Spring boot 配置参数

# ---------------------------------------- 2 # CORE PROPERTIES 3 # ---------------------------------------- 4 5 # SPRING 相关配置 (ConfigFileApplicationListener) 6 spring.config.name # config file name (default to application) 7 spring.config.location # lo…

服务总线SpringCloudBus

1 简介 为了使用户微服务能够及时感知到Git仓库中配置文件的修改,可以使用SpringCloud Bus来实现配置的自动更新。 SpringCloud Bus底层是基于RabbitMQ实现的,默认使用本地的消息队列服务。它是用轻量级的消息代理将分布式的系统连接起来,用…

和为K的子数组(LeetCode 560)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路方法一:枚举方法二:前缀和 哈希表优化 参考文献 1.问题描述 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列…

HTTP代理服务器脚本录制

1、报错1 target controller is configured to “use recording Controller“ but no such controller exists,ensure_target controller is configured to "use recording -CSDN博客

等等Domino 14.0FP1

大家好,才是真的好。 节奏确实太快了,有时候我深感我也追不上。 以前Notes Domino是三年磨一剑,也就说每三年才发一个大版本,从2019年开始,进行了高频提速,居然一年一个大版本! 周末&#xf…

NAT——网络地址转换

目录 一、概念 二、NAT的分类 1.静态NAT 1.1 静态NAT的配置 1.2 利用eNSP小实验加强对静态NAT的理解 2、动态NAT 三、NAPT——端口映射 四、Easy IP 使用一个公网地址可以让所有人都上公网 一、概念 随着Internet的发展和网络应用的增多,IPv4地址枯竭已经成为…

jmeter 如何循环使用接口返回的多值?

有同学在用jmeter做接口测试的时候,经常会遇到这样一种情况: 就是一个接口请求返回了多个值,然后下一个接口想循环使用前一个接口的返回值。 这种要怎么做呢? 有一定基础的人,可能第一反应就是先提取前一个接口返回…