V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
SHIINASAMA
V2EX  ›  分享创造

一个简单好用的 PySide6 项目模板

  •  
  •   SHIINASAMA ·
    SHIINASAMA · 7 天前 · 1387 次点击

    简介

    这个模板原本来自我为公司内部开发的几个桌面小工具,有相当多的重复部分,所以很早就考虑提取出公共部分做成一个模板以备不时之需,可以直接开箱即用。半年东改西改终于算是稳定下来了,没出过什么问题,也暂时没其他需求了。


    Q/A:

    Q:模板适用什么场景?

    A:适合做一些规模不大,需要快速开发的产品,只需要投入较少的精力就能获得较好的体验。


    Q:模板包含了哪些功能?

    A:技术上,我整合了 pyside6 (核心 UI 部分) + qasync (更简单的异步写法) + pytest (单测) + PyQtDarkTheme (支持动态主题切换)+ nuitka (编译打包);功能上,编写了一个 tool 模块,支持转换 *.ui 文件、Qt 资源打包、i18n 等,配合使用可以一条龙打包应用程序。例如:

    uv run -m tool --all --onefile
    

    程序本体还支持检查更新并一键自更新的功能。


    Q:模板支持哪些平台?

    A:目前支持 Windows 和 Linux ,macOS 由于没有设备无法开发并测试。Windows 最多支持到 Win 7 使用一些公司或者单位老旧性能羸弱的电脑。


    Q:项目必须要使用命令行吗?你这不是 GUI 程序模板吗?

    A:命令行只是最简单的使用方式之一,我还提供了 VSCode 和 JB 等主流 IDE 的运行和调试配置。并且 UI 文件的设计可以直接通过 QtDesigner 直接拖拉设计,所见即所得,生成出的 UI 文件也会被自动转换成所需的 Python 文件,不需要手动干预。


    Q:有没有现成的项目预览康康呢?

    A:有的兄弟,有的。以下图片已做脱敏处理:

    使用

    pyside_template

    可以直接 fork 或者 use this template 直接创建你的项目,clone 完成然后直接运行 uv sync 就配置完成了,使用 VSCode 或者 PyCharm 直接运行吧。(前提是已经安装 uv 噢)


    最后忘了说了,还整合了 gha 和 gitlab pipeline ,无论是用公开仓库还是自部署都能享受模板 CI/CD 提供的测试与自动部署/发布。可能更多是符合我的需求,不喜勿喷。如果你喜欢或者能帮到你的话请点个 star 吧。

    2 条回复    2025-10-01 16:21:45 +08:00
    xhawk
        1
    xhawk  
       6 天前
    感谢楼主的分享, 我本来一直也想构建这么一个东西, 你的这个东西我已经跑起来了. 不过对于 UI 这块, 我自己有点犹豫不决, 其实还有一个思路是采用 electron+next.js 的方案, 不知道这个 py 的方案, 这个这个主要差异是什么?

    或者有研究过的? 我更多关注的是 macos, windows, linux 可以不用反复搞.
    SHIINASAMA
        2
    SHIINASAMA  
    OP
       6 天前
    @xhawk Electron 有一个很大的优势,就是背靠 Web 庞大的生态,单论 UI ,这块就能轻松玩出花来。我的项目一开始也考虑过 UI 问题(反观我们单位里大多数 XP 时代的软件),而且我本身也有一定的 Electron 应用开发经验。但最终考虑到单位电脑性能偏低,开个浏览器都卡,所以还是需要注意性能。如果不考虑性能问题,Electron 会更好,也更符合你更关注的方向。

    实际上,这个项目并没有深入使用 Qt 的特性,更多是把整个开发流程打通了。UI 的很多东西都是附带的,也可以去掉,完全可以用自己喜欢的主题。只要有一些 UI 开发经验和 Python 基础,就基本够用了——界面也可以直接拖拽设计。我使用下来,基本可以专注处理业务逻辑。顺便提一下,我的业务本身对性能也有要求,这也是技术选型时需要考虑的因素之一。

    至于平台支持,我实在不想再折腾 mac 虚拟机,所以干脆没测试。理论上大部分组件都是跨平台的。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2018 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:38 · PVG 23:38 · LAX 08:38 · JFK 11:38
    ♥ Do have faith in what you're doing.