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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件设计师——计算机网络(三)

📑前言 本文主要是【计算机网络】——软件设计师——计算机网络的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1…

uniapp之屏幕右侧出现滚动条去掉、隐藏、删除【好用!】

目录 问题解决大佬地址最后 问题 解决 在最外层view上加上class“content”;输入以下样式。注意:两个都必须存在在生效。 .content {/* 跟屏幕高度一样高,不管view中有没有内容,都撑开屏幕高的高度 */height: 100vh; overflow: auto; } .content::-webkit-scrollb…

【JavaWeb】往浏览器打印一个hello world

上集:建一个web项目 第一步:建好Servlet类的文件 右键src,建一个class 就行 第二步:编代码 可以直接复制粘贴 用来测试的类 import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; //↓是注解&#xff0…

同义词替换降低论文抄袭率的有效性探讨 papergpt

大家好,今天来聊聊同义词替换降低论文抄袭率的有效性探讨,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 标题:同义词替换降低论文抄袭率的有效性探…

持续集成交付CICD:Jenkins使用GitLab共享库实现基于SaltStack的CD流水线部署前后端应用

目录 一、实验 1.Jenkins使用GitLab共享库实现基于SaltStack的CD流水线部署前后端应用 2.优化共享库代码 二、问题 1.Jenkins手动构建后端项目流水线报错 一、实验 1.Jenkins使用GitLab共享库实现基于SaltStack的CD流水线部署前后端应用 (1)GitLa…

云原生之深入解析Kubernetes Operator的最佳实践和最常见的问题分析

一、Kubernetes Operator 简介 Kubernetes Operator 是通过连接主 API 并 watch 时间的一组进程,一般会 watch 有限的资源类型。当相关 watch 的 event 触发的时候,operator 做出响应并执行具体的动作。这可能仅限于与主 API 交互,但通常会涉…

python快速实现简单的图片透明化

整张图片透明化的完整代码如下: import os import glob from PIL import Imagedef convert_to_transparent(image_path, output_folder):image Image.open(image_path)image image.convert("RGBA")data image.getdata()new_data []for item in data:…

verilog语法进阶-分布式ram原语

概述 官方提供的原语 RAM16X1S_1 #(.INIT(16h0000) // Initial contents of RAM) RAM16X1S_1_inst (.O(O), // RAM output.A0(A0), // RAM address[0] input.A1(A1), // RAM address[1] input.A2(A2), // RAM address[2] input.A3(A3), // RAM address[3…

SpringMVC上传下载文件解读

知识点 文件上传(File Upload): 创建一个控制器方法,使用 MultipartFile 参数来接收上传的文件。在 Spring 配置文件中配置一个 MultipartResolver,常用的实现类是 CommonsMultipartResolver。在 MultipartResolver …

PyTorch官网demo解读——第一个神经网络(1)

神经网络如此神奇,feel the magic 今天分享一下学习PyTorch官网demo的心得,原来实现一个神经网络可以如此简单/简洁/高效,同时也感慨PyTorch如此强大。 这个demo的目的是训练一个识别手写数字的模型! 先上源码: fr…

crmeb v5新增一个功能的完整示例记录

首先,需求 工作中的二开需求是这样的,修改首页的装修,并新增回收报价的功能 开始动手 第一步,我们要到后面的管理界面,去装修中修改首面的展示 首页的页面配置好之后,就要在 前端的展示程序中 配置相…

105基于matlab的阶次分析算法

基于matlab的阶次分析算法,用于变转速机械故障特征提取,可运行,包含寻找脉冲时刻,等角度时刻。数据可更换自己的,程序已调通,可直接运行。 105阶次分析变转速信号处理 (xiaohongshu.com)

二十七、读写文件

二十七、读写文件 27.1 文件类QFile #include <QCoreApplication>#include<QFile> #include<QDebug>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);QFile file("D:/main.txt");if(!file.open(QIODevice::WriteOnly | QIODe…

Arrays.asList()方法:陷阱与解决之道

在Java编程中&#xff0c;Arrays类提供了一系列用于操作数组的实用方法。其中&#xff0c;​Arrays.asList()​方法是一个常用的方法&#xff0c;用于快速将数组转换为List集合。然而&#xff0c;这个方法存在一些潜在的陷阱&#xff0c;可能导致出现意外的行为。本文将介绍​A…

数据可视化---柱状图

import matplotlib.pyplot as plt import numpy as npdef plot_bar_chart(data, labels, colorsNone, title"Bar Chart", xlabel"X-Axis", ylabel"Y-Axis"):"""绘制柱状图&#xff0c;并在柱子上显示数量和比例。:param data: 包…

【C++11特性篇】C++11中新增的initializer_list——初始化的小利器(2)

前言 大家好吖&#xff0c;欢迎来到 YY 滴C11系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 目录 一.探究std::initializer_list是什么…

OceanBase 4.2.1社区版 最小资源需求安装方式

OceanBase 4.2.1社区版 最小资源需求安装方式 资源需求 资源需求分析 observer Memory 控制参数&#xff1a; memory_limit_percentage 默认80% memory_limit 直接设定observer Memory 大小 System memory 可设为1G 租户内存:sys租户内存设为1G&#xff0c;OCP需要的租户oc…

Mac brew install youtube-dl 【 youtube 下载工具:youtube-dl 安装】

文章目录 1. 简介2. 预备3. 安装4. 命令5. 测试 1. 简介 youtube-dl - 从youtube.com或其他视频平台下载视频 https://github.com/ytdl-org/youtube-dl 2. 预备 安装并配置 git安装 brew 3. 安装 MacBook-Pro ~ % brew install youtube-dl Warning: youtube-dl has been …

【Java系列】详解多线程(三)—— 线程安全(上篇)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习Java的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一…

基于EasyExcel的数据导入导出

前言&#xff1a; 代码复制粘贴即可用&#xff0c;主要包含的功能有Excel模板下载、基于Excel数据导入、Excel数据导出。 根据实际情况修改一些细节即可&#xff0c;最后有结果展示&#xff0c;可以先看下结果&#xff0c;是否是您想要的。 台上一分钟&#xff0c;台下60秒&a…