CalculusCalculator 1.5.2__tar.gz → 1.6.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/PKG-INFO +170 -53
  2. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/README.md +347 -233
  3. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/pyproject.toml +15 -6
  4. calculuscalculator-1.6.4/src/CalculusCalculator/__init__.py +3 -0
  5. calculuscalculator-1.6.4/src/CalculusCalculator/core/render.py +164 -0
  6. calculuscalculator-1.6.4/src/CalculusCalculator/core/settings.py +164 -0
  7. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/core}/sympify.py +22 -7
  8. calculuscalculator-1.6.4/src/CalculusCalculator/functions/__init__.py +0 -0
  9. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/functions}/derivative.py +33 -33
  10. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/functions}/functions.py +1 -1
  11. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/functions}/integral.py +17 -17
  12. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/functions}/paint2D.py +374 -374
  13. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/functions}/paint3D.py +385 -385
  14. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/functions}/planes.py +853 -853
  15. calculuscalculator-1.6.4/src/CalculusCalculator/functions/saves.py +248 -0
  16. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/functions}/simplification.py +1 -1
  17. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/functions}/solids.py +806 -806
  18. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/functions}/solvers.py +1 -1
  19. calculuscalculator-1.6.4/src/CalculusCalculator/i18n/en_US.qm +0 -0
  20. calculuscalculator-1.6.4/src/CalculusCalculator/i18n/en_US.ts +2063 -0
  21. calculuscalculator-1.6.4/src/CalculusCalculator/i18n/zh_CN.qm +0 -0
  22. calculuscalculator-1.6.4/src/CalculusCalculator/i18n/zh_CN.ts +2063 -0
  23. calculuscalculator-1.6.4/src/CalculusCalculator/math_input/__init__.py +141 -0
  24. calculuscalculator-1.6.4/src/CalculusCalculator/math_input/_dialog.py +143 -0
  25. calculuscalculator-1.6.4/src/CalculusCalculator/math_input/_editor.py +813 -0
  26. calculuscalculator-1.6.4/src/CalculusCalculator/math_input/_label.py +235 -0
  27. calculuscalculator-1.6.4/src/CalculusCalculator/math_input/_model.py +1142 -0
  28. calculuscalculator-1.6.4/src/CalculusCalculator/math_input/_parser.py +721 -0
  29. calculuscalculator-1.6.4/src/CalculusCalculator/math_input/_renderer.py +1132 -0
  30. calculuscalculator-1.6.4/src/CalculusCalculator/math_input/_view.py +169 -0
  31. calculuscalculator-1.6.4/src/CalculusCalculator/resources_rc.py +2848 -0
  32. calculuscalculator-1.6.4/src/CalculusCalculator/run.py +26 -0
  33. calculuscalculator-1.6.4/src/CalculusCalculator/setup.py +72 -0
  34. calculuscalculator-1.6.4/src/CalculusCalculator/ui/__init__.py +95 -0
  35. calculuscalculator-1.6.4/src/CalculusCalculator/ui/bianxing.py +77 -0
  36. calculuscalculator-1.6.4/src/CalculusCalculator/ui/budengshi.py +39 -0
  37. calculuscalculator-1.6.4/src/CalculusCalculator/ui/budengshizu.py +68 -0
  38. calculuscalculator-1.6.4/src/CalculusCalculator/ui/dingyi.py +102 -0
  39. calculuscalculator-1.6.4/src/CalculusCalculator/ui/dingyi_lj.py +230 -0
  40. calculuscalculator-1.6.4/src/CalculusCalculator/ui/dingyi_pj.py +408 -0
  41. calculuscalculator-1.6.4/src/CalculusCalculator/ui/dingyixiangliang.py +201 -0
  42. calculuscalculator-1.6.4/src/CalculusCalculator/ui/fangcheng.py +52 -0
  43. calculuscalculator-1.6.4/src/CalculusCalculator/ui/fangchengzu.py +63 -0
  44. calculuscalculator-1.6.4/src/CalculusCalculator/ui/help.py +90 -0
  45. calculuscalculator-1.6.4/src/CalculusCalculator/ui/huancun.py +88 -0
  46. calculuscalculator-1.6.4/src/CalculusCalculator/ui/huitu_hanshu.py +140 -0
  47. calculuscalculator-1.6.4/src/CalculusCalculator/ui/huitu_lj.py +80 -0
  48. calculuscalculator-1.6.4/src/CalculusCalculator/ui/huitu_pj.py +89 -0
  49. calculuscalculator-1.6.4/src/CalculusCalculator/ui/jiesanjiaoxing.py +115 -0
  50. calculuscalculator-1.6.4/src/CalculusCalculator/ui/jifen.py +50 -0
  51. calculuscalculator-1.6.4/src/CalculusCalculator/ui/jisuan.py +73 -0
  52. calculuscalculator-1.6.4/src/CalculusCalculator/ui/ljjisuan.py +168 -0
  53. calculuscalculator-1.6.4/src/CalculusCalculator/ui/main.py +225 -0
  54. calculuscalculator-1.6.4/src/CalculusCalculator/ui/math_input.py +21 -0
  55. calculuscalculator-1.6.4/src/CalculusCalculator/ui/pjjisuan.py +235 -0
  56. calculuscalculator-1.6.4/src/CalculusCalculator/ui/qiudao.py +67 -0
  57. calculuscalculator-1.6.4/src/CalculusCalculator/ui/shezhi.py +76 -0
  58. calculuscalculator-1.6.4/src/CalculusCalculator/ui/shouye.py +43 -0
  59. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_bianxing.py +94 -42
  60. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_budengshi.py +77 -32
  61. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_budengshizu.py +85 -44
  62. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_dingyi.py +121 -78
  63. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_dingyi_lj.py +144 -59
  64. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_dingyi_pj.py +200 -110
  65. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_dingyixiangliang.py +103 -53
  66. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_fangcheng.py +89 -42
  67. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_fangchengzu.py +89 -47
  68. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_help.py +16 -8
  69. calculuscalculator-1.6.4/src/CalculusCalculator/ui/ui_huancun.py +52 -0
  70. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_huitu_hanshu.py +48 -20
  71. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_huitu_lj.py +19 -9
  72. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_huitu_pj.py +19 -9
  73. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_jiesanjiaoxing.py +80 -40
  74. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_jifen.py +111 -51
  75. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_jisuan.py +85 -42
  76. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_ljjisuan.py +45 -17
  77. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_main.py +19 -9
  78. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_pjjisuan.py +45 -17
  79. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_qiudao.py +136 -71
  80. calculuscalculator-1.6.4/src/CalculusCalculator/ui/ui_shezhi.py +147 -0
  81. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator/ui/ui_shouye.py +52 -44
  82. calculuscalculator-1.6.4/src/CalculusCalculator/ui/widgets.py +55 -0
  83. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator.egg-info/PKG-INFO +170 -53
  84. calculuscalculator-1.6.4/src/CalculusCalculator.egg-info/SOURCES.txt +88 -0
  85. calculuscalculator-1.6.4/src/CalculusCalculator.egg-info/requires.txt +6 -0
  86. calculuscalculator-1.5.2/src/CalculusCalculator/main.py +0 -86
  87. calculuscalculator-1.5.2/src/CalculusCalculator/resources_rc.py +0 -133074
  88. calculuscalculator-1.5.2/src/CalculusCalculator/run.py +0 -11
  89. calculuscalculator-1.5.2/src/CalculusCalculator/saves.py +0 -138
  90. calculuscalculator-1.5.2/src/CalculusCalculator/ui/__init__.py +0 -2129
  91. calculuscalculator-1.5.2/src/CalculusCalculator.egg-info/SOURCES.txt +0 -45
  92. calculuscalculator-1.5.2/src/CalculusCalculator.egg-info/requires.txt +0 -3
  93. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/setup.cfg +0 -0
  94. {calculuscalculator-1.5.2/src/CalculusCalculator → calculuscalculator-1.6.4/src/CalculusCalculator/core}/__init__.py +0 -0
  95. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator.egg-info/dependency_links.txt +0 -0
  96. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator.egg-info/entry_points.txt +0 -0
  97. {calculuscalculator-1.5.2 → calculuscalculator-1.6.4}/src/CalculusCalculator.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CalculusCalculator
3
- Version: 1.5.2
3
+ Version: 1.6.4
4
4
  Summary: A powerful GUI-based calculus calculator for symbolic mathematics, derivatives, integrals, and more.
5
5
  Author-email: LiMingkang <limingkang12345@163.com>
6
6
  License: MIT
@@ -11,15 +11,18 @@ Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Operating System :: OS Independent
12
12
  Classifier: Intended Audience :: Education
13
13
  Classifier: Topic :: Scientific/Engineering :: Mathematics
14
- Requires-Python: >=3.8
14
+ Requires-Python: <3.13,>=3.8
15
15
  Description-Content-Type: text/markdown
16
- Requires-Dist: PySide6>=6.4.0
17
- Requires-Dist: sympy>=1.10
18
- Requires-Dist: matplotlib>=3.0.0
16
+ Requires-Dist: PySide6>=6.9.1
17
+ Requires-Dist: sympy>=1.14.0
18
+ Requires-Dist: matplotlib>=3.10.9
19
+ Requires-Dist: PyQtDarkTheme-fork>=2.3.6
20
+ Requires-Dist: latex2sympy2>=1.9.1
21
+ Requires-Dist: lazy_loader>=0.4
19
22
 
20
23
  # CalculusCalculator 微积分计算器
21
24
 
22
- **CalculusCalculator** 是一个基于 SymPy 和 PySide6 的图形化微积分计算工具,支持求导、积分、函数性质分析、表达式变形、方程(组)与不等式(组)求解、微分方程求解、符号计算、向量运算、解三角形、函数绘图、**平面/立体几何定义、计算与绘图**等功能,并提供了存档/读档及 Web 版本。
25
+ **CalculusCalculator** 是一个基于 SymPy 和 PySide6 的图形化微积分计算工具,支持求导、积分、函数性质分析、表达式变形、方程(组)与不等式(组)求解、微分方程求解、符号计算、向量运算、解三角形、函数绘图、**平面/立体几何定义、计算与绘图**等功能,并提供了**表达式缓存**、**可视化公式输入**、存档/读档及 Web 版本。
23
26
 
24
27
  [![Python](https://img.shields.io/badge/Python-3.8%2B-blue)](https://www.python.org/)
25
28
  [![PySide6](https://img.shields.io/badge/PySide6-6.9.1-green)](https://pypi.org/project/PySide6/)
@@ -31,7 +34,7 @@ Requires-Dist: matplotlib>=3.0.0
31
34
 
32
35
  - **项目地址**:[GitHub - limingkang12345/CalculusCalculator](https://github.com/limingkang12345/CalculusCalculator)
33
36
  - **网页版**:[https://limingkang.pythonanywhere.com](https://limingkang.pythonanywhere.com)
34
- - **最新版本**:v1.5.2
37
+ - **最新版本**:v1.6.4
35
38
  - **开发语言**:Python 3.8+
36
39
  - **核心库**:SymPy(符号计算)、PySide6(GUI 框架)、Matplotlib(几何绘图)
37
40
  - **功能概览**:
@@ -51,7 +54,54 @@ Requires-Dist: matplotlib>=3.0.0
51
54
  - **立体几何**(v1.5.1):定义三维点/直线/线段/平面,支持平行/垂直构造、垂足计算、斜二测画法,复选框筛选 3D 绘图
52
55
  - **几何计算**(v1.5.2):平面几何 32 种运算(两点距离、中点、共线判断、直线/圆/三角形/多边形属性、向量计算、变换等)、立体几何 22 种运算(三维点/线/面关系、四面体体积、斜二测投影/面积变换等)
53
56
  - **回车快捷键**(v1.5.2):各页面主要文本输入框支持回车键触发对应按钮功能
57
+ - **表达式缓存**(v1.6.4):通过缓存区管理常用表达式,支持对话框选择和标签页浏览
58
+ - **可视化公式输入**(v1.6.4):基于 pyqt5-math-widget,在输入框中以图形化方式插入数学公式
59
+ - **存档设置**(v1.6.4):设置页新增存档选项,可精细控制存档时保存哪些类型的数据
54
60
  - 工程存档/读档(JSON 格式),支持保存所有几何对象
61
+ - **LaTeX 代码直接输入**(v1.6.1):在表达式前添加 `$` 标识,可直接输入 LaTeX 代码,系统自动解析为 SymPy 表达式
62
+
63
+ ## v1.6.4 更新内容
64
+
65
+ 1. **表达式缓存**:新增"缓存区"功能,通过菜单栏"文件 → 缓存区"打开标签页管理缓存表达式;输入框旁的三个快捷按钮分别支持可视化输入、打开缓存区弹窗、存入缓存区
66
+ 2. **可视化公式输入**:基于 pyqt5-math-widget(已内置于 `math_input/` 目录),支持结构化选择和编辑数学符号
67
+ 3. **存档设置**:设置页新增"存档设置(保存时)"列表,可勾选/取消函数列表、方程列表、缓存区等内容,精细控制存档范围
68
+ 4. **菜单调整**:"解三角形"移至"求解"菜单子项,"变形"移至"计算"菜单子项
69
+ 5. **项目结构优化**:`core/` 目录添加 `__init__.py`;`ui/i18n.py` 重构为 `core/settings.py`
70
+ 6. **代码清理**:移除浅色/深色样式切换的残留 QAction
71
+
72
+ ## v1.6.3 更新内容
73
+
74
+ 1. **设置选项卡**:新增"设置"选项卡,并将主题样式设置项移入设置选项卡
75
+ 2. **语言设置**:新增"语言"设置项,支持英语界面
76
+ 3. **帮助文档**:新增内置"帮助文档",提供用户文档与 API 文档
77
+ 4. **修复积分**:修复不能进行不定积分和定积分的问题
78
+ 5. **资源优化**:去掉 `resources_rc.py` 中打包的 MathJax 库,并缩小 ico 体积
79
+
80
+ ---
81
+
82
+ ## v1.6.2 更新内容
83
+
84
+ 1. **更换公式显示组件**:数学公式显示组件由旧组件更换为 `QGraphicsView`,大幅减小程序打包体积
85
+ 2. **重构项目结构**:增强项目规范性
86
+ 3. **启动加速**:使用 `lazy_loader`,加快程序启动速度
87
+ 4. **修复样式**:修复暗色主题下帮助文档内容样式错误的问题
88
+
89
+ ---
90
+
91
+ ## v1.6 更新内容
92
+
93
+ 1. **窗口布局更新**:所有窗口部件的位置现在会根据窗口大小自适应变化
94
+ 2. **现代化 UI**:使用 PyQtDarkTheme-fork 样式库,实现现代化扁平 UI
95
+ 3. **界面主题**:新增"界面主题"菜单项,支持切换浅色与深色主题
96
+ 4. 额外提供了 Nuitka 编译版本(Compiled)
97
+
98
+ ---
99
+
100
+ ## v1.6.1 更新内容
101
+
102
+ 1. **LaTeX 代码输入支持**:支持直接输入 LaTeX 代码,需在 LaTeX 代码前添加 `$` 标识,系统自动将 LaTeX 转换为对应的 SymPy 表达式
103
+ 2. **帮助页面性能优化**:帮助页面的静态文档显示组件由 `QWebEngineView` 改为 `QTextBrowser`,显著提升加载性能
104
+ 3. 更新帮助文档与 README
55
105
 
56
106
  ---
57
107
 
@@ -84,13 +134,51 @@ Requires-Dist: matplotlib>=3.0.0
84
134
 
85
135
  ---
86
136
 
137
+ ## v1.4.4 更新内容
138
+
139
+ 1. **计算选项卡**:新增计算选项卡,支持高精度和符号运算及 LaTeX 代码生成
140
+ 2. **函数调用**:定义的函数现在可以 `函数名(自变量值)` 形式直接调用,支持嵌套函数输入
141
+ 3. **分母有理化**:大部分计算结果现在会自动执行分母有理化
142
+ 4. **不等式解集**:不等式组的解现在以集合或区间的形式返回
143
+ 5. **存档增强**:方程组和不等式组现在也会被写入存档
144
+ 6. **UI 微调**:微调界面以适配新版系统环境
145
+ 7. **修复**:修复求解方程组时多解导致报错的问题
146
+ 8. 更新帮助文档
147
+
148
+ ---
149
+
150
+ ## v1.4.3 更新内容
151
+
152
+ 1. **存档功能**:新增存档功能,可通过 JSON 保存或读取存档
153
+ 2. **性能修复**:修复启动后初次新建选项卡可能引发卡顿的问题
154
+ 3. 使用 WinRAR 创建更完整的安装程序,并使用 7z 创建更小的压缩包
155
+
156
+ ---
157
+
158
+ ## v1.4.2 更新内容
159
+
160
+ - 修复代数式在输入时被自动化简,及在求解问题时不自动化简的问题
161
+
162
+ ---
163
+
164
+ ## v1.4.1 更新内容
165
+
166
+ 1. **重构 UI**:用户可以像操作浏览器一样增减功能标签页
167
+ 2. **首页改版**:更换首页样式
168
+ 3. **菜单栏**:新增菜单栏,并在"关于"中添加 GitHub 链接与网页版链接
169
+ 4. **修复**:修复方程组结果不能正常显示的 bug
170
+ 5. **架构变动**:UI 相关内容移至 `ui` 目录下
171
+ 6. **体积优化**:缩小打包后程序体积
172
+
173
+ ---
174
+
87
175
  ## 亮点分析
88
176
 
89
177
  1. **功能全面**
90
178
  覆盖了微积分、代数、方程求解、几何计算中的常见需求,从基础的化简求导到隐函数、微分方程、平面立体几何一应俱全。
91
179
 
92
180
  2. **可视化界面**
93
- 基于 PySide6 构建多标签页界面,每个功能独立窗口,支持公式的 LaTeX 实时渲染(`QWebEngineView` + MathJax)。
181
+ 基于 PySide6 构建多标签页界面,每个功能独立窗口,计算结果以 LaTeX 形式在 `QGraphicsView`(SVG)中实时渲染,帮助文档使用 `QTextBrowser` 显示。
94
182
 
95
183
  3. **自定义函数**
96
184
  用户可以定义 `f(x)`、`g(t)` 等函数,并在后续计算中通过 `f(3)`、`f(g(2))` 等形式直接调用,极大提升了灵活性和复用性。
@@ -128,6 +216,15 @@ Requires-Dist: matplotlib>=3.0.0
128
216
  14. **Web 版补充**
129
217
  除了桌面客户端,还提供了在线网页版(基于 PythonAnywhere),方便快速体验。
130
218
 
219
+ 15. **LaTeX 代码直接输入**(v1.6.1 新增)
220
+ 在表达式前添加 `$` 标识即可直接输入 LaTeX 代码(如 `$\frac{x}{2}`),系统自动将 LaTeX 解析为 SymPy 表达式进行计算。
221
+
222
+ 16. **表达式缓存与可视化输入**(v1.6.4 新增)
223
+ 缓存区可暂存常用表达式,支持弹窗选择与标签页管理;基于 pyqt5-math-widget 的图形化公式输入面板,无需记忆 LaTeX 即可插入数学符号。
224
+
225
+ 17. **存档精细控制**(v1.6.4 新增)
226
+ 设置页可按类别选择性存档,避免不必要的数据写入项目文件。
227
+
131
228
  ---
132
229
 
133
230
  ## 部署使用
@@ -137,18 +234,32 @@ Requires-Dist: matplotlib>=3.0.0
137
234
  - Python 3.8 或更高版本
138
235
  - 推荐使用虚拟环境
139
236
 
140
- ### 安装依赖
237
+ ### 安装依赖(桌面版)
141
238
 
142
239
  ```bash
143
240
  pip install -r requirements.txt
144
241
  ```
145
242
 
146
- `requirements.txt` 内容:
243
+ ### 从 PYPI 安装(推荐)
244
+
245
+ ```bash
246
+ pip install CalculusCalculator
247
+ ```
147
248
 
148
- - PySide6==6.9.1
149
- - sympy==1.14.0
150
- - numpy
151
- - matplotlib
249
+ 安装完成后,在终端直接运行:
250
+
251
+ ```bash
252
+ CalculusCalculator
253
+ ```
254
+
255
+ ### 依赖清单
256
+
257
+ - PySide6>=6.9.1
258
+ - sympy>=1.14.0
259
+ - matplotlib>=3.10.9
260
+ - PyQtDarkTheme-fork>=2.3.6
261
+ - latex2sympy2>=1.9.1
262
+ - lazy_loader>=0.4
152
263
 
153
264
  ### 运行桌面版
154
265
 
@@ -193,50 +304,56 @@ python setup.py build
193
304
 
194
305
  ```
195
306
  CalculusCalculator/
196
- ├── main.py # 主窗口逻辑
197
- ├── run.py # 程序入口
198
- ├── sympify.py # 表达式安全转换、函数调用预处理
199
- ├── derivative.py # 显/隐函数求导
200
- ├── integral.py # 积分计算
201
- ├── functions.py # 函数性质分析
202
- ├── simplification.py # 表达式变形(13种方法)
203
- ├── solvers.py # 方程/不等式/微分方程/解三角形求解
204
- ├── planes.py # 平面几何计算与构造 API(30+函数)
205
- ├── solids.py # 立体几何计算与构造 API(29+函数,含斜二测画法)
206
- ├── paint2D.py # 平面几何绘图渲染模块
207
- ├── paint3D.py # 立体几何 3D 绘图渲染模块
208
- ├── saves.py # JSON 存档/读档
307
+ ├── __init__.py # 包标识(含版本号)
308
+ ├── run.py # 程序入口(含 run() 函数,供 PYPI 入口点使用)
209
309
  ├── setup.py # cx_Freeze 打包脚本
210
310
  ├── requirements.txt # Python 依赖列表
211
311
  ├── update.txt # 版本更新日志
212
- ├── ui/
213
- │ ├── __init__.py # 各选项卡逻辑实现
214
- │ ├── ui_main.py # 主窗口布局
215
- │ ├── ui_dingyi.py # 定义页布局
216
- │ ├── ui_qiudao.py # 求导页布局
217
- │ ├── ui_jifen.py # 积分页布局
218
- │ ├── ui_bianxing.py # 变形页布局
219
- │ ├── ui_fangcheng.py # 方程页布局
220
- │ ├── ui_fangchengzu.py # 方程组页布局
221
- │ ├── ui_budengshi.py # 不等式页布局
222
- │ ├── ui_budengshizu.py # 不等式组页布局
223
- │ ├── ui_jisuan.py # 计算页布局
224
- │ ├── ui_shouye.py # 首页布局
225
- │ ├── ui_help.py # 帮助页布局
226
- │ ├── ui_dingyixiangliang.py # 定义向量页布局
227
- │ ├── ui_huitu_hanshu.py # 绘制函数页布局
228
- │ ├── ui_jiesanjiaoxing.py # 解三角形页布局
229
- │ ├── ui_dingyi_pj.py # 平面几何定义页布局
230
- │ ├── ui_huitu_pj.py # 平面几何绘图页布局
231
- │ ├── ui_dingyi_lj.py # 立体几何定义页布局
232
- │ ├── ui_huitu_lj.py # 立体几何绘图页布局
233
- │ ├── ui_pjjisuan.py # 平面几何计算页布局
234
- │ └── ui_ljjisuan.py # 立体几何计算页布局
235
- ├── resources_rc.py # 资源文件(MathJax和帮助文档等)
312
+ ├── mkdocs.yml # 文档站(MkDocs)配置
313
+ ├── README.md # 项目说明
314
+ ├── resources_rc.py # 编译后的资源文件
315
+ ├── core/ # 核心模块
316
+ │ ├── __init__.py
317
+ │ ├── settings.py # 语言 / 主题读写与切换
318
+ │ ├── sympify.py # 表达式安全转换、函数调用预处理、LaTeX 解析
319
+ │ └── render.py # 公式渲染(SVG / QGraphicsView)
320
+ ├── math_input/ # 可视化公式输入(pyqt5-math-widget 内置于此)
321
+ ├── functions/ # 各计算功能实现
322
+ │ ├── derivative.py # 显/隐函数求导
323
+ │ ├── integral.py # 积分计算
324
+ │ ├── functions.py # 函数性质分析
325
+ │ ├── simplification.py # 表达式变形(13 种方法)
326
+ │ ├── solvers.py # 方程/不等式/微分方程/解三角形求解
327
+ │ ├── planes.py # 平面几何计算与构造 API
328
+ │ ├── solids.py # 立体几何计算与构造 API(含斜二测画法)
329
+ │ ├── paint2D.py # 平面几何绘图渲染
330
+ │ ├── paint3D.py # 立体几何 3D 绘图渲染
331
+ │ └── saves.py # JSON 存档/读档
332
+ ├── ui/ # 界面层(PySide6)
333
+ │ ├── __init__.py # 各选项卡逻辑实现汇总(含 lazy_loader + 标签注册表)
334
+ │ ├── main.py # 主窗口逻辑
335
+ │ ├── math_input.py # 可视化公式输入弹窗入口
336
+ │ ├── huancun.py # 缓存区管理
337
+ │ ├── widgets.py # 通用组件
338
+ │ ├── ui_main.py # 主窗口布局(自动生成)
339
+ │ ├── <功能>.py # 各功能页逻辑,如 dingyi / qiudao / jifen / bianxing /
340
+ │ │ # fangcheng / fangchengzu / budengshi / budengshizu / jisuan /
341
+ │ │ # shouye / dingyixiangliang / huitu_hanshu / jiesanjiaoxing /
342
+ │ │ # dingyi_pj / huitu_pj / dingyi_lj / huitu_lj / pjjisuan /
343
+ │ │ # ljjisuan / huancun / help / shezhi 等
344
+ │ └── ui_*.py # 各功能页布局(自动生成)
345
+ ├── i18n/ # 多语言翻译文件(.ts 源文件 + .qm 编译文件)
346
+ │ ├── zh_CN.ts
347
+ │ ├── zh_CN.qm
348
+ │ ├── en_US.ts
349
+ │ └── en_US.qm
350
+ └── docs/ # 文档源码(MkDocs 构建)
351
+ ├── index.md # 首页
352
+ ├── about.md # 关于 / 版本历史
353
+ ├── guide/ # 用户指南(quickstart / installation / configuration)
354
+ └── api/ # API 参考(core/、modules/)
236
355
  ```
237
356
 
238
- ---
239
-
240
357
  ## 许可证
241
358
 
242
359
  本项目采用 MIT 许可证。