Files
cutThenThink/examples/test_image_features.py
congsh c4a77f8aa4 feat: 实现CutThenThink P0阶段核心功能
项目初始化
- 创建完整项目结构(src/, data/, docs/, examples/, tests/)
- 配置requirements.txt依赖
- 创建.gitignore

P0基础框架
- 数据库模型:Record模型,6种分类类型
- 配置管理:YAML配置,支持AI/OCR/云存储/UI配置
- OCR模块:PaddleOCR本地识别,支持云端扩展
- AI模块:支持OpenAI/Claude/通义/Ollama,6种分类
- 存储模块:完整CRUD,搜索,统计,导入导出
- 主窗口框架:侧边栏导航,米白配色方案
- 图片处理:截图/剪贴板/文件选择/图片预览
- 处理流程整合:OCR→AI→存储串联,Markdown展示,剪贴板复制
- 分类浏览:卡片网格展示,分类筛选,搜索,详情查看

技术栈
- PyQt6 + SQLAlchemy + PaddleOCR + OpenAI/Claude SDK
- 共47个Python文件,4000+行代码

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 18:21:31 +08:00

76 lines
2.0 KiB
Python

#!/usr/bin/env python3
"""
图片处理功能测试脚本
测试 P0-7 实现的图片处理功能:
1. 全局快捷键截图
2. 剪贴板监听
3. 图片文件选择
4. 图片预览组件
"""
import sys
from pathlib import Path
# 添加项目根目录到路径
project_root = Path(__file__).parent.parent
sys.path.insert(0, str(project_root))
try:
from PyQt6.QtWidgets import QApplication
from PyQt6.QtCore import Qt
from src.gui.main_window import MainWindow
from src.gui.widgets import (
ScreenshotWidget,
ClipboardMonitor,
ImagePicker,
ImagePreviewWidget
)
print("✓ 所有组件导入成功")
# 创建应用程序
app = QApplication(sys.argv)
app.setApplicationName("CutThenThink")
# 创建并显示主窗口
window = MainWindow()
window.show()
print("✓ 主窗口已启动")
print("\n功能测试说明:")
print("=" * 50)
print("1. 全局快捷键截图:")
print(" - 点击「新建截图」按钮")
print(" - 或使用快捷键 Ctrl+Shift+A")
print(" - 拖动鼠标选择截图区域")
print("")
print("2. 剪贴板监听:")
print(" - 复制任意图片到剪贴板")
print(" - 点击「粘贴剪贴板图片」按钮")
print(" - 或使用快捷键 Ctrl+Shift+V")
print("")
print("3. 图片文件选择:")
print(" - 点击「导入图片」按钮")
print(" - 或使用快捷键 Ctrl+Shift+O")
print(" - 选择本地图片文件")
print("")
print("4. 图片预览:")
print(" - 加载图片后可进行缩放操作")
print(" - 支持鼠标滚轮缩放")
print(" - 支持拖动平移")
print(" - 支持旋转和全屏")
print("=" * 50)
sys.exit(app.exec())
except ImportError as e:
print(f"✗ 导入失败: {e}")
print("\n请确保已安装所有依赖:")
print(" pip install -r requirements.txt")
sys.exit(1)
except Exception as e:
print(f"✗ 启动失败: {e}")
import traceback
traceback.print_exc()
sys.exit(1)