- 博客(92)
- 收藏
- 关注
原创 AI + PySide6 实现可缩放窗口
本文介绍了使用PySide6实现可缩放无边框窗口的技术方案,主要内容包括: 项目功能概述:实现无边框窗口的拖动移动、边缘缩放、自定义标题栏等特性 关键技术点: 通过setWindowFlags设置无边框窗口 边缘检测算法判断鼠标位置 使用startSystemResize和startSystemMove实现缩放和拖动 类型注解应用: 详细说明了Python类型注解的作用和优势 对比了有无类型注解的代码差异 展示了函数参数、属性、事件处理中的类型注解实践 实现原理: 解析了无边框窗口的设置方法 讲解了边缘检测
2025-12-25 19:26:44
473
原创 AI+PySide6实现自定义窗口标题栏(titleBar)
本文介绍了使用PySide6实现自定义标题栏的完整教程。主要内容包括:通过QVBoxLayout和QHBoxLayout创建窗口布局,移除默认边框实现无边框窗口,添加窗口图标、标题和控制按钮(最小化、最大化/恢复、关闭),并绑定相应事件处理函数。教程还详细讲解了窗口拖动功能的实现方法,以及如何通过QStyle获取系统标准图标。最后提供了完整的代码示例,适合PySide6初学者学习自定义窗口界面的开发。
2025-12-24 17:53:23
609
原创 Ai加Flutter实现自定义标题栏(appBar)
本文介绍了如何利用Flutter和AI技术实现自定义标题栏(AppBar)。文章首先分析了自定义标题栏的必要性,指出其能统一不同平台的UI风格。接着通过拆解需求,将窗口标题栏功能映射到Flutter的AppBar组件上,使用window_manager插件隐藏系统默认标题栏。具体实现步骤包括:安装插件、隐藏默认标题栏、构建自定义AppBar样式,并实现最小化、最大化/还原和关闭等窗口控制功能。通过状态管理切换最大化图标,最终完成了一个风格统一、功能完整的自定义标题栏方案。
2025-12-17 22:51:52
690
1
原创 PySide6 自定义侧边栏 实现思路与代码详解
本文介绍了使用PySide6实现自定义侧边栏的方法。通过QFrame嵌套QVBoxLayout构建主窗口和侧边栏,利用QPropertyAnimation实现平滑的展开/收缩动画效果。核心代码展示了如何通过设置minimumWidth属性,配合QEasingCurve使动画更流畅。文章提供了两种显示模式(默认展开/收缩)的实现思路,并解释了关键点:使用setFixedWidth确保正常收缩,以及布局方式对动画效果的影响。完整代码示例展示了构建侧边栏框架、添加按钮控件和实现切换功能的完整流程。
2025-12-12 18:24:27
283
原创 pyside6 任务菜单扩展示例 闭坑指南
本文分享了在PySide6界面设计中使用任务菜单扩展示例时遇到的常见问题及解决方案。主要包括两个关键问题:1)uv虚拟环境缺少libpython3.11.so的解决方法,建议设置LD_LIBRARY_PATH环境变量;2)首次运行时提示PYSIDE_DESIGNER_PLUGINS未设置的错误,建议在当前项目目录下设置该变量。文章还展示了成功运行后的效果截图,包括自定义控件在窗口部件盒和基础控件中的显示效果,并提供了相关参考链接。最后强调通过拆分细节、逐步尝试来解决问题的思路。
2025-11-26 23:26:08
371
原创 在fedora上43上解决flet运行缺少libmpv.so.1
在Fedora 43上运行flet时出现缺少libmpv.so.1的错误。通过dnf搜索发现需要安装mpv-devel包,安装后使用find命令定位到/usr/lib64/libmpv.so文件。由于系统只有libmpv.so.2.5.0版本,通过创建软链接或复制文件的方式将其映射为libmpv.so.1,最终成功解决问题。该方案适用于64位GNOME 49桌面环境下的Wayland显示系统。
2025-11-24 17:02:09
300
原创 PySide6/PyQt (纯)文本编辑 替换功能实现
本文介绍了使用PySide6实现文本编辑器的查找替换功能。文章提供了一个最小可行demo,包含UI界面和核心功能实现。代码演示了如何通过QPlainTextEdit控件实现单个替换和全部替换功能,利用了该控件自带的find方法和document属性。作者还指出了一个小bug:当存在选中文本时,替换功能不会生效,建议添加取消选中文本的逻辑处理。该实现适用于简单的文本替换场景,对于更复杂的查找功能(如大小写敏感、全词匹配等),可结合查找标签进一步完善。
2025-11-19 19:19:04
267
原创 AI正在窃取我们的劳动成果?破坏了我们的分享欲?
摘要:文章探讨AI技术如何削弱人们的知识分享欲望,提出四个核心问题:1)人们更愿与人而非AI分享;2)AI未经授权获取个人博客内容;3)人类协议不适用于AI;4)应有权拒绝向AI分享。作者结合自身IT学习经历指出,AI正利用人类分享内容训练模型,最终可能反噬创作者。建议解决方案包括:建立AI引用授权机制、开发去中心化博客系统、实施内容创作者激励政策等。文章引用周鸿“为淘汰自己的机器添砖加瓦”观点,呼吁重视AI时代的知识产权保护问题。
2025-11-15 10:32:49
922
原创 PySide6/PyQt信号总线的实现、使用以及使用建议
摘要:本文介绍了PySide6/PyQt中信号总线的实现与使用方法。信号总线类似现实中的数据线,用于传输状态信息。文章首先讲解了Qt信号与槽的基础概念,然后通过继承QObject实现了一个包含多个Signal的SignalBus类。使用时需注意:信号可复用但需避免串线;字符串信号复用性高;避免在部件类内套壳自定义信号;多窗口实例化时防止信号重复触发。文章还通过记事本示例展示了错误用法及优化方案,推荐直接连接菜单动作而非通过信号总线转发。
2025-11-13 21:18:00
366
原创 PySide6/PyQt Ctrl 滚轮 实现文本缩放功能
实现Ctrl+滚轮文本缩放功能摘要 通过继承QTextEdit/QPlainTextEdit并重写wheelEvent方法,实现Ctrl+滚轮缩放功能。核心逻辑包括:判断Control按键修饰符,获取滚轮的y轴偏移量,根据正负值调用zoomIn()或zoomOut()方法放大缩小文本。在PySide6中使用Qt.KeyboardModifier.ControlModifier判断修饰状态。需要注意的是文档中的modifiers用法可能与Qt原生文档存在差异,偏移量delta的取值方向决定缩放方向。
2025-11-12 17:17:23
270
原创 关于Flutter与Qt for python 的一些技术、开源、商用等问题
这篇文章涉及Flutter与Qt for python 一些技术、开源与商用问题,笔者就自己的见解对于学习技术的一些问题答疑解惑
2025-11-08 21:40:29
922
3
原创 解决pyside6-deploy(nuitka)打包丢失图片资源-避坑
摘要: 文章介绍了在使用pyside6-deploy打包时遇到的图片资源丢失问题及解决方法。关键是通过.qrc资源文件和*_rc.py转换工具来确保资源被正确打包。详细说明了如何使用pyside6-rcc命令转换资源文件,以及导入资源路径的注意事项,包括prefix路径的影响。同时强调需要在程序入口文件或当前文件中正确导入资源文件,以避免系统托盘图标等资源丢失问题。
2025-11-07 10:14:10
728
原创 pyside6实现win10自动切换主题
摘要 这是一个基于PySide6的Windows主题自动切换工具,可根据日出日落时间调整系统主题。通过请求API获取IP地址、经纬度及当地日出日落时间,并与当前时间比较来切换主题。配置信息保存在config.json中。目前存在开机自启动未实现、需手动删除配置文件更新数据等不足。项目使用Python开发,建议在虚拟环境中运行,主要依赖PySide6库。代码已开源,后续计划完善后台守护程序等功能。 (字数:146字)
2025-11-06 19:25:58
331
原创 PySide6 Win10记事本从零到一——第十章 纯文本编辑自定义上下文菜单界面与功能实现
本章介绍了如何通过自定义上下文菜单实现类似Win10记事本的功能。主要内容包括: 讲解了上下文菜单的基本概念和实现方法,包括设置菜单策略和信号连接 分析了Win10记事本上下文菜单的界面结构 提供了完整的代码实现,包括: 自定义上下文菜单类(ContentMenu) 自定义纯文本编辑类(PlainTextEdit) 主窗口实现(NotepadMain) 指出功能分为两类:更新行为状态和行为触发,并说明后续将实现"使用Bing搜索"等特色功能 代码采用模块化设计,清晰划分了界面和功能职责,
2025-11-06 11:25:25
1809
原创 《Python工匠》第二章 数值与字符串 关键知识摘录与梳理
本文总结了Python中数值与字符串的关键知识点。数值部分介绍了浮点数精度问题的解决方案(decimal模块)和布尔值的数字特性。字符串部分重点讲解了常用操作(遍历、切片、反转)、三种格式化方法(%格式化、str.format、f-string)、拼接优化(+=与join性能相当),以及实用字符串方法(split、startswith、translate等)。同时区分了字符串(str)和字节串(bytes)的转换关系。编程建议包括:用枚举替代魔法数字、处理超长字符串的技巧、使用textwrap增强可读性等。
2025-11-05 17:56:38
411
原创 PySide6 Win10记事本从零到一—— 第九章 帮助菜单界面与功能实现
本章介绍了如何实现记事本应用的帮助菜单功能,主要内容包括:1) 创建帮助菜单界面,添加"查看帮助"、"发送反馈"和"关于记事本"等选项;2) 实现功能逻辑,使用QDesktopServices.openUrl()打开帮助网页和反馈链接;3) 创建自定义关于对话框,显示应用信息和开发者信息。通过分离菜单界面和功能实现,代码结构清晰,便于维护扩展。
2025-11-05 11:16:11
573
原创 PySide6 Win10记事本从零到一——第八章 查看菜单界面与功能实现
本章介绍了如何为记事本程序实现查看菜单功能,主要包括:1)在菜单中添加"缩放"子菜单和"状态栏"选项;2)为子菜单项绑定放大、缩小和恢复默认字体大小的功能;3)实现状态栏的显示/隐藏切换。通过继承QMenu类创建自定义查看菜单,并使用信号槽机制将菜单动作连接到文本编辑控件(zoomIn/zoomOut)和状态栏控制功能,完成了完整的查看菜单功能实现。
2025-11-04 22:57:05
508
原创 PySide6 Win10记事本从零到一——第七章 格式菜单界面与功能实现
本章实现了记事本格式菜单的界面与功能,包含自动换行和字体设置两项功能。代码采用模块化设计,将纯文本编辑功能封装在PlainTextEdit类中,格式菜单功能由FormatMenu类实现。自动换行功能通过信号槽机制连接,当勾选状态变化时会改变文本的换行模式。字体功能预留了对话框接口,为后续实现字体设置做准备。整个实现遵循Qt的信号槽机制,确保各组件间的解耦与灵活调用。
2025-11-04 17:51:56
526
原创 《Python工匠》第一章 变量与注释 关键知识摘录与梳理
本文总结了Python变量与注释的关键知识点。变量部分包括交换变量、解包操作、单下划线变量用法、私有变量声明及命名规范。注释部分重点介绍了函数接口注释和类型注解的使用方法,并提供了8条实用建议:保持变量一致性、就近定义变量、使用临时变量提升可读性、拆分过多变量、避免不必要的变量定义、不使用locals()、合理使用空行、先写注释后写代码。这些技巧有助于编写更规范、易读的Python代码,特别适合需要提升代码质量的开发者参考。
2025-11-03 10:24:23
373
原创 PySide6 自定义信号与槽函数连接
本文介绍了如何在PySide6中为QPlainTextEdit控件自定义信号来检测文本内容变化。作者通过继承QPlainTextEdit创建了一个自定义类,添加了hasText信号,当文本发生变化时会触发该信号,返回True或False表示是否存在内容。文章包含实现思路和完整示例代码,展示了如何将信号连接到槽函数并测试功能。这种自定义信号的方法适用于需要监控文本编辑控件内容变化的场景。
2025-11-02 17:31:01
311
原创 PySide6 Win10记事本从零到一——第六章(下) 搜索、查找、替换等功能实现
本文摘要主要介绍了如何在PySide6中实现搜索、查找和替换功能。搜索功能通过QDesktopServices.openUrl()方法实现,利用Bing搜索引擎的URL参数传递选中文本进行搜索。查找功能则通过自定义PlainTextEdit类实现,包含查找上一个/下一个操作和查找对话框。实现时重点关注文本选中状态检测、剪贴板状态管理以及跨平台兼容性问题。代码示例展示了如何将菜单项与文本编辑器的信号连接,实现功能的可用性控制及具体操作逻辑。
2025-11-02 16:57:45
1010
原创 PySide6 Win10记事本从零到一——第六章(上) 编辑菜单界面与部分功能实现
本文摘要: 本文介绍了记事本程序中编辑菜单界面的实现方法。首先分析了编辑菜单包含的15个功能项及对应快捷键,包括撤销、剪切、复制、粘贴、删除等基本编辑操作。然后详细说明了使用PySide6框架实现自定义编辑菜单类的过程,包括继承QMenu类、设置菜单项和快捷键。最后展示了在Fedora、Kubuntu和Win10三个平台上的运行效果,并简述了核心编辑功能的实现思路,如通过连接信号与槽函数将菜单行为与文本编辑操作绑定,以及利用剪贴板管理粘贴功能的状态检测。
2025-11-01 18:54:41
1063
原创 Python3 函数或方法传参机制
这篇文章探讨了Python的函数参数传递机制,重点分析了值传递和引用传递的区别。Python采用"变量所指对象的引用"策略,当传递可变对象(如列表)时会修改原数据,而传递不可变对象(如字符串)则不会。为了防止数据被意外修改,建议使用元组作为参数和返回值。文章还介绍了具名元组的使用方法,它能通过名称而非索引访问元组元素,提高代码可读性。通过代码示例展示了不同参数类型的传递效果,帮助读者理解Python独特的参数传递机制。
2025-11-01 09:17:42
406
原创 PySide6 实现win10 手动与自动切换主题 借助系统托盘
本文介绍了如何在Windows 10上实现手动和自动切换主题的功能。主要内容包括: 通过Python的winreg模块修改注册表来改变系统主题 根据当地日出日落时间实现自动切换主题 使用PySide6的QSystemTrayIcon实现系统托盘功能,使程序在后台运行 关键实现点: 获取当地位置和时间计算日出日落 通过注册表修改系统主题设置 创建托盘图标和上下文菜单 提供了完整的Python代码实现,包括主界面、时间计算和注册表操作模块。程序可根据时间自动切换亮色/暗色主题,并提供手动切换选项。
2025-10-31 21:24:33
449
原创 PySide6 Win10记事本从零到一——第五章 文件菜单项功能简单实现
本章介绍了文件菜单项功能的简单实现,主要包括新建、新窗口、打开、保存、另存为、打印和退出等功能。通过信号与槽机制连接菜单项动作与对应功能,利用QFileDialog实现文件操作,使用QPrinter和QPrintDialog完成打印功能。代码中采用with语句优化文件操作,并合理处理文件路径逻辑。关键方法包括open_file、save_file、save_file_as和print_file等,通过参数传递实现与主界面组件的交互。
2025-10-31 11:48:32
1114
原创 PySide6/PyQt 主窗口菜单栏添加自定义菜单
本文介绍了如何在PySide6/PyQt主窗口中添加自定义菜单。通过面向对象方式实现:1) 创建继承自QMenu的自定义菜单类FileMenu,设置菜单项和快捷键;2) 在主窗口类NotePadMain中通过menuBar().addMenu()添加自定义菜单。主窗口还提供了add_menu方法作为添加新菜单的接口,增强了扩展性。示例实现了类似记事本的界面,包含文件菜单和文本编辑区域,展示了PySide6菜单栏的开发流程和模块化设计思路。
2025-10-29 16:18:38
138
原创 PySide6 Win10记事本从零到一——第四章 文件菜单界面实现
本章介绍了记事本程序中文件菜单界面的实现方法。通过分析界面元素,使用PySide6框架实现了包含新建、打开、保存等常用功能的文件菜单,并为各菜单项添加了标准快捷键。文章展示了在不同操作系统下的运行效果,并提出了代码优化方案:将文件菜单封装为独立的FileMenu类,通过降低耦合度提高代码可维护性。示例代码演示了如何创建菜单栏、添加菜单项以及设置快捷键等关键步骤。
2025-10-29 16:11:18
1347
原创 PySide6 Win10记事本从零到一——第三章 记事本主窗口基础
本章讲解了如何用PySide6实现记事本主窗口界面的基础功能。主要内容包括:1)分析记事本界面的菜单栏、文本编辑区和状态栏三大组件;2)介绍QMainWindow主窗口框架及其核心部件;3)通过示例代码实现带菜单栏、文本编辑器和状态栏的简化版记事本界面;4)优化文本编辑区的视觉效果。最终实现了一个基本可用的记事本主窗口,并提供了进一步扩展的练习建议。
2025-10-28 21:43:24
1087
原创 如何网购一本适合自己的书 指南篇
本文提供了网购书籍的实用指南,主要介绍了国内主流购书平台的特点:某东书籍全但价高,当当某价格适中,某多多盗版多但部分店铺优质便宜,某宝介于两者之间,某物基本为盗版。选购时建议查看目录和前言,记录感兴趣章节,比较价格和质量。文章还提到电子书资源网站Z-Library(需科学上网),最后鼓励读者根据自身需求选择正版或盗版书籍。全文针对编程类书籍选购给出了具体建议。
2025-10-28 19:06:02
737
原创 Flutter fedaora42 64位安装 避坑指南
Flutter在Fedora 42 64位系统安装避坑指南,详细介绍了从下载Flutter SDK、配置环境变量到安装Android Studio的全过程。文章重点解决了32位库依赖、SDK命令行工具安装、Git代理配置等常见问题,并提供了诊断命令和授权方法。针对Flatpak安装的Android Studio兼容性问题,给出了解决方案。通过这份指南,用户可顺利完成Flutter环境搭建,避免常见安装陷阱。
2025-10-27 18:23:05
678
原创 PySide6 Win10记事本从零到一——第二章 第一个窗口程序
本章介绍了如何安装和配置VSCode进行Python开发,并编写第一个PySide6窗口程序。主要内容包括: 下载安装VSCode(支持Windows/Linux/macOS) 配置必备插件:Python支持、汉化包、自动文档生成等 创建项目并编写基础窗口程序代码 代码解析:从导入模块到主循环的运行机制 通过本章,读者可以搭建Python GUI开发环境并运行第一个简单的窗口程序。示例代码展示了PySide6的基本使用方式,包括应用程序实例化、窗口创建和事件循环管理。
2025-10-27 12:02:35
1246
原创 conda 命令使用进阶指南 minconda
本文是一篇conda命令进阶指南,主要介绍conda虚拟环境管理的增删改查操作和常见问题解决方案。文章包含:1)商用环境下推荐使用Miniconda并配置conda-forge通道;2)虚拟环境创建、删除、更新Python版本和查找环境等操作命令;3)Linux/macOS平台卸载Miniconda的方法。适合需要深入掌握conda命令的开发者,同时提供了解决企业商用问题的参考方案。
2025-10-26 22:02:01
669
原创 PySide6 Win10记事本从零到一——第一章 PySide6基础环境搭建
本文介绍了如何搭建PySide6开发环境。首先讲解了Minconda的安装方法,包括Windows和Unix系统的详细步骤。接着说明了配置conda-forge通道的必要性和具体操作,以及设置清华镜像源加快下载速度的方法。然后详细介绍了创建PySide6专用虚拟环境的过程,并说明了为何选择Python 3.11版本。最后讲解了在虚拟环境中安装PySide6的具体步骤。整个流程涵盖了环境搭建的完整步骤,为PySide6开发奠定了基础。
2025-10-26 16:22:02
1231
原创 PySide6 win10 记事本从零到一——前言
本文介绍了基于PySide6开发Python跨平台记事本应用的专栏内容。作者对比了主流Python GUI框架后选择PySide6作为开发工具,并详细规划了从环境搭建到功能实现的教程路线。专栏采用模块化教学方式,通过实现Windows记事本功能逐步掌握PySide6开发技巧,所有代码已开源。作者提供了Fedora、Windows和Kubuntu三套测试环境配置,并针对不同基础的读者给出了学习建议。该教程适合具备Python基础、希望学习桌面应用开发的开发者,文中还提供了读者反馈渠道以持续完善内容。
2025-10-26 11:29:36
372
原创 PySide6 pyside6-deploy 命令 Linux 部署
本文介绍了如何在Linux系统上部署基于PySide6的Python应用。文章详细说明了部署工具pyside6-deploy的使用方法,该工具基于Nuitka编译器。作者提供了环境配置要求(Fedora Linux、Python 3.11、Conda等),并演示了一个简单的Hello World示例程序的部署过程。部署后的应用会生成.bin可执行文件,并具有自动退出功能。文章还包含了运行效果截图和必要的参考链接,方便读者进一步了解相关技术。
2025-10-25 19:39:40
421
原创 Python 部署安卓应用——弃坑指南(却退)
《Python部署安卓应用的血泪教训》一文分享了作者尝试使用PySide6开发安卓应用的失败经历。文章指出,虽然Qt for Python在桌面端表现良好,但在安卓部署上仍存在严重问题。作者详细记录了在Fedora系统下的环境配置过程,包括安装依赖、下载SDK/NDK工具链等步骤,但最终仍未能成功部署应用。结论建议开发者暂时放弃PySide6的安卓部署,等待未来版本改进。文章为相关开发者提供了宝贵的避坑参考,特别强调了环境配置中的关键注意事项。
2025-10-25 19:21:05
1062
原创 Kivy 乒乓游戏教程 基于Minconda或Anconda 运行
本文介绍了如何在Minconda/Anaconda环境下使用Kivy框架开发简单的乒乓球游戏。教程提供了两个核心文件:main.py(游戏逻辑)和pong.kv(界面设计),展示了基本的游戏功能实现。文章重点在于环境搭建和演示,未深入讲解代码细节。适合想要快速体验Kivy跨平台开发特性的初学者参考,为后续学习Android应用打包奠定基础。
2025-10-24 22:34:12
434
原创 Flask入门教程——李辉 第5章: 数据库 关键知识梳理
本文介绍了Flask框架中数据库操作的关键知识。主要内容包括:通过Flask-SQLAlchemy扩展简化数据库交互,使用SQLite作为轻量级数据库;详细讲解了数据库配置、模型类定义(包含常用字段类型和约束配置)、数据库表创建方法(命令行和代码实现两种方式);最后展示了基础的CRUD操作。文章还提供了相关扩展知识和工具推荐,如数据库迁移工具Alembic和SQLite可视化工具DB Browser。适合已掌握Flask基础的开发者学习数据库集成。
2025-10-24 17:13:54
1363
原创 Python导入文件中的模块——终于有人讲清楚了
本文介绍了Python项目中不同目录间模块导入的解决方案。文章基于Linux下的Minconda环境,针对三类常见导入场景:同级目录相互调用、同级目录调用下级目录、下级目录相互调用。重点讲解了第三种情况的核心解决思路——将项目文件夹添加到Python模块路径或系统变量中,并提供了两种实现方法:通过Python代码动态添加路径,或修改Minconda环境变量。文中还强调了在子目录中添加__init__.py文件的建议,并提供了配置Minconda的扩展阅读链接。
2025-10-23 22:21:50
328
原创 PySide 自定义窗口上下文菜单 以及扩展上下文菜单
本文介绍了在PySide6中自定义文本编辑控件右键菜单的方法。通过设置控件的上下文菜单策略为自定义模式,并连接自定义菜单槽函数,可以轻松实现符合需求的右键功能。文章提供了三种实现方案:基于基础窗口控件QWidget、基于文本编辑控件QTextEdit,以及扩展标准菜单的方法。每种方案都给出了完整代码示例,并指出了现有代码中可优化的地方,如简化菜单项添加方式、直接使用信号传递的位置参数等。这些方法同样适用于QPlainTextEdit控件,帮助开发者实现类似Windows记事本的右键菜单功能。
2025-10-22 12:21:28
332
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅