|
|
|
|
@ -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:整数,要高亮到的字符位置
|
|
|
|
|
color:QColor对象,高亮颜色
|
|
|
|
|
输出:无
|
|
|
|
|
功能:高亮显示从开始到指定位置的文本
|
|
|
|
|
需要包含:
|
|
|
|
|
使用QTextCursor选择文本范围
|
|
|
|
|
应用背景颜色格式
|
|
|
|
|
恢复光标位置
|
|
|
|
|
"""
|