基于 tkinter + jieba + pyperclip 的轻量级中文分词 GUI 工具,支持剪贴板历史自动记录,界面采用圆角卡片 + 现代配色设计。
- 中文分词 — 使用 jieba 对文本进行精准的中文分词
- 剪贴板历史 — 类似 Windows 剪贴板历史,每 500ms 自动检测并记录拷贝的内容
- 去重排序 — 重复内容自动移到最前,保持历史列表整洁
- 持久化存储 — 历史记录自动保存到
history.json,关闭程序后不会丢失
- 多种分隔符 — 支持空格、
/、|、换行四种分词结果拼接方式
- 零额外依赖 GUI 库 — 仅使用 Python 自带的 tkinter,无需安装第三方 GUI 框架
- 自动监控开关 — 可随时关闭剪贴板自动监控,手动控制记录时机
- 圆角 UI 设计 — 基于 Canvas 自绘的 RoundedFrame / RoundedButton,卡片带微阴影,按钮悬停变色
- Python 3.8+
- Windows / macOS / Linux
# 1. 安装依赖
pip install -r requirements.txt
# 2. 启动程序
python clip_tokenizer.py
程序启动后分为左、右两个面板,整体采用浅灰背景,所有内容区均为白色圆角卡片。
| 区域 |
说明 |
| 原始文本 |
圆角卡片内的多行输入框,聚焦时高亮为浅蓝色 |
| 按钮栏 |
四颗彩色圆角按钮,鼠标悬停/按下有颜色变化 |
| 分隔符 |
下拉选择分词结果的拼接方式 |
| 分词结果 |
圆角卡片内的深蓝色文字展示分词输出 |
按钮颜色语义:
| 按钮 |
颜色 |
含义 |
| 从剪贴板粘贴 |
#4A90D9 蓝 |
主操作 |
| 执行分词 |
#27AE60 绿 |
执行 |
| 复制结果 |
#E67E22 橙 |
输出 |
| 清空 |
#E74C3C 红 |
危险 |
白色圆角卡片,包含:
| 区域 |
说明 |
| 历史列表 |
每行显示一条记录的前 60 个字符预览,选中时浅蓝高亮 |
| ☑ 自动监控 |
勾选后自动捕获系统剪贴板的新内容 |
| 加载 / 删除 / 清空 |
紧凑型按钮,对历史记录的操作 |
双击历史列表中的条目可快速加载到输入框中。
输入: 今天天气真不错,适合出去散步
分词: 今天 / 天气 / 真 / 不错 / , / 适合 / 出去 / 散步
| 组件 |
文件位置 |
说明 |
RoundedFrame |
clip_tokenizer.py |
Canvas 绘制的圆角卡片容器(12px 圆角 + 可选阴影) |
RoundedButton |
clip_tokenizer.py |
Canvas 绘制的圆角按钮(8px 圆角 + 悬停/按下变色) |
ScrollableText |
clip_tokenizer.py |
封装 Text + Scrollbar,统一底色和内边距,聚焦高亮 |
| 变量 |
色值 |
用途 |
CLR_WIN_BG |
#EDF0F4 |
窗口背景 |
CLR_SECTION_BG |
#FFFFFF |
卡片背景 |
CLR_TEXT_BG |
#F7F9FB |
文本区底色 |
CLR_PRIMARY |
#4A90D9 |
主按钮蓝 |
CLR_SUCCESS |
#27AE60 |
分词按钮绿 |
CLR_WARNING |
#E67E22 |
复制按钮橙 |
CLR_DANGER |
#E74C3C |
清空按钮红 |
CLR_OUTPUT_TEXT |
#1A5276 |
输出文字深蓝 |
| 库 |
用途 |
| pyperclip |
读写系统剪贴板 |
| jieba |
中文分词 |
| tkinter |
图形界面(Python 标准库,无需安装) |
zhantieban/
├── clip_tokenizer.py # 主程序
├── requirements.txt # Python 依赖
└── history.json # 剪贴板历史记录(自动生成)