ChecklistWidget 清单组件¶
ChecklistWidget 是一个用于在邮件中创建任务清单、待办事项或检查列表的组件。它支持多种状态显示、进度统计和灵活的样式配置,帮助用户清晰地展示项目进度和任务完成情况。
🎯 组件预览¶
清单组件预览
1. 清单组件展示
项目开发清单
完成进度
2/5 (40.0%)
✓
完成项目需求分析
已完成需求调研和用户访谈
完成
✓
设计系统架构
完成整体架构设计和技术选型
完成
○
编写核心代码
正在开发核心功能模块
○
进行单元测试
编写和执行单元测试用例
—
系统集成测试
等待开发完成后进行
跳过
○
部署上线
生产环境部署和配置
✨ 核心特性¶
- 📝 多种状态: 支持已完成、未完成、跳过等多种项目状态
- 🎨 状态主题: 基于StatusType的主题颜色配置,如成功、警告、错误等
- 📊 进度统计: 可选的进度条和完成百分比显示
- 🔧 灵活配置: 支持紧凑模式、自定义描述、状态文本等
- 📧 邮件兼容: 使用邮件客户端兼容的HTML和CSS实现
🚀 快速开始¶
基础用法¶
Python
from email_widget import Email
from email_widget.widgets import ChecklistWidget
# 创建基础清单
checklist = ChecklistWidget()
checklist.set_title("开发任务")
checklist.add_item("完成需求分析", True)
checklist.add_item("设计数据库", True)
checklist.add_item("编写代码", False)
email = Email("项目进度报告")
email.add_widget(checklist)
进阶用法¶
Python
# 带进度统计和状态的清单
checklist = ChecklistWidget()
checklist.set_title("项目里程碑")
checklist.add_item("项目启动", True, "success", "项目已正式启动")
checklist.add_item("需求确认", True, "success", "所有需求已确认")
checklist.add_item("设计评审", False, "warning", "设计方案待审核")
checklist.add_item("开发实施", False, "pending", "等待开发团队")
checklist.show_progress_stats(True)
checklist.set_compact_mode(True)
email.add_widget(checklist)
📚 完整API文档: ChecklistWidget API
🎨 样式指南¶
状态类型和主题颜色¶
- success: 绿色 (#107c10) - 已完成的重要任务
- warning: 橙色 (#ff8c00) - 需要注意的项目
- error: 红色 (#d13438) - 失败或阻塞的任务
- info: 蓝色 (#0078d4) - 信息性或参考性项目
- primary: 蓝色 (#0078d4) - 正在进行的重要任务
📱 最佳实践¶
1. 项目管理清单¶
Python
from email_widget import Email
from email_widget.widgets.checklist_widget import ChecklistWidget
# 创建项目管理报告邮件
email = Email("项目管理报告")
# 主要里程碑
checklist1 = ChecklistWidget()
checklist1.set_title("项目里程碑")
checklist1.add_item("项目启动", True, "success")
checklist1.add_item("需求分析", True, "success")
checklist1.add_item("概要设计", True, "success")
checklist1.add_item("详细设计", False, "warning")
checklist1.add_item("开发实施", False, "pending")
checklist1.show_progress_stats(True)
email.add_widget(checklist1)
# 导出HTML文件
email.export_html("project_management_report.html")
项目管理报告
项目里程碑
完成进度
3/7 (42.9%)
✓
项目启动
完成
✓
需求分析
完成
✓
概要设计
完成
!
详细设计
○
开发实施
○
测试验收
○
上线部署
当前冲刺
完成进度
1/3 (33.3%)
✓
用户登录功能
已通过代码审查
完成
!
数据导出功能
API设计待确认
●
邮件通知功能
开发中
i
性能监控
下个冲刺处理
信息
2. 系统运维检查清单¶
Python
from email_widget import Email
from email_widget.widgets.checklist_widget import ChecklistWidget
# 创建系统运维日报邮件
email = Email("系统运维日报")
# 日常检查清单
checklist = ChecklistWidget()
checklist.set_title("系统健康检查")
checklist.add_item("服务器状态", True, "success")
checklist.add_item("数据库连接", True, "success")
checklist.add_item("磁盘空间", False, "warning", "需要关注")
checklist.add_item("内存使用", True, "success")
checklist.add_item("网络连通", True, "success")
checklist.show_progress_stats(True)
email.add_widget(checklist)
系统运维日报
系统健康检查
完成进度
4/5 (80.0%)
✓
服务器状态
完成
✓
数据库连接
完成
!
磁盘空间
需要关注
✓
内存使用
完成
✓
网络连通
完成
安全检查
完成进度
2/4 (50.0%)
✓
SSL证书
有效期至2024年12月
完成
✓
防火墙规则
已更新
完成
!
漏洞扫描
发现3个中级漏洞
✗
访问日志
发现异常访问
⚡ 快捷方法¶
Email 类提供了 add_checklist
快捷方法:
Python
# 带参数的快捷方法
email.add_checklist(
title="任务清单",
items=[
("任务1", True),
("任务2", False),
("任务3", False)
],
show_progress=True,
compact_mode=True
)
🐛 常见问题¶
Q: 如何创建不同优先级的任务?¶
A: 使用不同的status_type来表示优先级:
Python
checklist.add_item("高优先级", False, "error") # 红色-紧急
checklist.add_item("中优先级", False, "warning") # 橙色-重要
checklist.add_item("低优先级", False, "info") # 蓝色-普通
Q: 跳过状态和未完成状态有什么区别?¶
A: - 未完成 (False): 计入总进度,需要完成的任务 - 跳过 (None): 不计入进度统计,被跳过的任务
Q: 进度条为什么不显示?¶
A: 确保调用了 show_progress_stats(True)
方法。
🔗 相关组件¶
- ProgressWidget - 单项进度显示
- StatusWidget - 状态信息展示
- CardWidget - 可以包含清单的卡片
- AlertWidget - 可与清单配合使用的提醒