项目展示


项目起源
支持 Markdown 语法的轻量桌面便签。
在开发 MarkNote 之前,我一直在寻找一个简单但功能强大的桌面便签应用。市面上的便签应用要么过于简单,要么过于复杂。于是我决定自己开发一个既轻量又实用的便签应用。
技术选型
- 开发语言: Python
- GUI 框架: PyQt5
- 开发工具: Cursor IDE
- 构建工具: PyInstaller
开发历程
1. 基础框架搭建
首先创建了基本的 GUI 框架,包括:
- 主窗口布局
- 系统托盘集成
- 单例模式实现
- 基础的文件保存/加载功能
2. Markdown 功能实现
这是最具挑战性的部分之一:
- 使用 QWebEngineView 实现 Markdown 渲染
- 添加实时预览功能
- 实现代码高亮
- 优化渲染性能
3. 待办事项功能
添加了 To-Do List 功能:
- 支持添加/删除待办事项
- 复选框状态管理
- 数据持久化存储
4. UI/UX 优化
持续改进用户界面:
- 优化顶部栏设计
- 添加图标和视觉反馈
- 实现窗口拖拽和调整大小
- 添加固定位置功能
5. 配置系统
实现完整的配置管理:
- 自定义保存路径
- 开机自启动选项
- 字体设置
- 窗口位置记忆
6. 项目重构与重命名
将项目从 StickyNote 重命名为 MarkNote:
- 更新所有相关文件名
- 修改代码中的引用
- 更新文档和说明
- 调整 GitHub 仓库设置
技术难点与解决方案
1. Markdown 渲染性能
问题: 实时渲染导致界面卡顿
解决方案:
- 使用 QTimer 实现延迟渲染
- 优化渲染逻辑
- 添加缓存机制
2. 数据持久化
问题: 需要可靠的数据保存机制
解决方案:
- 使用 INI 文件格式存储数据
- 实现自动保存功能
- 添加数据备份机制
3. 系统托盘集成
问题: 托盘图标管理复杂
解决方案:
- 实现托盘菜单
- 优化图标显示
- 添加快捷操作
开发工具与效率
使用 Cursor IDE 进行开发,它提供了:
- AI 辅助编程
- 智能代码补全
- 实时代码分析
- 快速重构工具
项目发布
- 创建 GitHub 仓库
- 编写详细文档
- 打包发布
- 持续维护和更新
未来展望
计划添加的功能:
- 多主题支持
- 云同步
- 快捷键自定义
- 插件系统
总结
通过这个项目,我不仅开发了一个实用的工具,也学到了很多:
- PyQt5 开发经验
- Python 项目结构
- Git 版本控制
- 软件发布流程
这个项目展示了从零开始开发一个完整桌面应用的全过程,也让我体会到了编程的乐趣。