第一部分代码目标 #2

Merged
p9o3yklam merged 1 commits from maziang into main 5 months ago

@ -0,0 +1,7 @@
"""
需要定义的常量
SUPPORTED_FORMATS = ['.txt', '.docx']
DEFAULT_WINDOW_SIZE = (800, 600)
COLOR_CORRECT = QColor('green')
COLOR_WRONG = QColor('red')
"""

@ -0,0 +1,34 @@
"""
1. parse_file(file_path)
输入file_path字符串文件路径
输出字符串文件内容或抛出异常
功能主解析函数根据文件扩展名路由到具体解析器
需要包含
调用validate_file_path(file_path)验证路径
根据扩展名调用对应解析函数
统一异常处理
2. parse_txt(file_path)
输入file_path字符串txt文件路径
输出字符串文件内容
功能解析纯文本文件
需要包含
自动检测编码utf-8, gbk等
处理不同换行符
返回纯文本内容
3. parse_docx(file_path)
输入file_path字符串docx文件路径
输出字符串文档文本内容
功能解析Word文档
需要包含
提取所有段落文本
保留基本格式换行
忽略图片表格等非文本元素
4. validate_file_path(file_path)
输入file_path字符串文件路径
输出布尔值是否有效
功能验证文件路径的有效性
需要包含
检查文件是否存在
检查文件是否可读
检查文件大小是否合理
"""

@ -0,0 +1,12 @@
"""
1. main()
输入命令行参数通过sys.argv获取
输出整数程序退出码
功能应用程序主入口点
需要包含
创建QApplication实例
创建MainWindow实例
显示窗口
启动事件循环
返回退出码
"""

@ -0,0 +1,70 @@
"""
1. __init__(self)
输入
输出构造函数
功能初始化主窗口设置基本属性调用UI初始化方法
需要包含
窗口标题设置为"隐私学习软件 - 仿Word"
窗口大小设置为800x600
初始化学习内容存储变量self.learning_content = ""
初始化当前输入位置self.current_index = 0
调用self.initUI()
2. initUI(self)
输入
输出
功能创建和布局所有UI组件
需要包含
创建中央文本编辑区域QTextEdit
调用self.createMenuBar()创建菜单
创建状态栏并显示"就绪"
连接文本变化信号到self.onTextChanged
3. createMenuBar(self)
输入
输出
功能创建菜单栏和所有菜单项
需要包含
文件菜单打开(Ctrl+O)保存(Ctrl+S)退出(Ctrl+Q)
帮助菜单关于
为每个菜单项连接对应的槽函数
4. openFile(self)
输入通过文件对话框获取路径
输出
功能打开文件选择对话框并加载选中的文件
需要包含
显示文件选择对话框过滤条件*.txt, *.docx
如果用户选择了文件调用FileParser.parse_file(file_path)
成功时将内容显示在文本区域重置打字状态
失败时显示错误消息框
5. saveFile(self)
输入通过文件对话框获取路径
输出布尔值成功/失败
功能保存当前内容到文件
需要包含
显示保存文件对话框
将文本区域内容写入选定文件
返回操作结果
6. showAbout(self)
输入
输出
功能显示关于对话框
需要包含
显示消息框包含软件名称版本描述
7. onTextChanged(self)
输入通过信号自动触发
输出
功能处理文本变化事件实现打字逻辑
需要包含
获取当前文本内容
调用打字逻辑检查输入正确性
更新高亮显示和状态栏
8. highlightText(self, position, color)
输入
position整数要高亮到的字符位置
colorQColor对象高亮颜色
输出
功能高亮显示从开始到指定位置的文本
需要包含
使用QTextCursor选择文本范围
应用背景颜色格式
恢复光标位置
"""

@ -0,0 +1,54 @@
"""
1. __init__(self, learning_content)
输入learning_content字符串学习材料
输出构造函数
功能初始化打字逻辑状态
需要包含
存储学习材料
初始化当前索引为0
初始化错误计数为0
2. check_input(self, user_text)
输入user_text字符串用户输入的文本
输出字典包含检查结果
correct布尔值当前输入是否正确
expected字符串当前期望的字符
position整数当前位置
completed布尔值是否完成
accuracy浮点数准确率
功能检查用户输入与学习材料的匹配情况
需要包含
逐字符比较逻辑
进度跟踪
准确率计算
3. get_expected_text(self)
输入
输出字符串当前期望输入的文本部分
功能获取用户接下来应该输入的内容
需要包含
返回从当前位置开始的一定长度文本如10个字符
处理文本结束情况
4. get_progress(self)
输入
输出字典包含进度信息
current整数当前位置
total整数总长度
percentage浮点数完成百分比
remaining整数剩余字符数
功能获取当前学习进度统计
5. reset(self, new_content=None)
输入new_content字符串可选新的学习材料
输出
功能重置打字状态
需要包含
重置当前索引为0
重置错误计数
如果提供了新内容更新学习材料
6. get_statistics(self)
输入
输出字典包含统计信息
total_chars整数总字符数
typed_chars整数已输入字符数
error_count整数错误次数
accuracy_rate浮点数准确率
功能获取打字统计信息
"""
Loading…
Cancel
Save