mirror of
https://github.com/goldenfishs/MRobot.git
synced 2026-02-04 18:00:19 +08:00
117 lines
2.4 KiB
Markdown
117 lines
2.4 KiB
Markdown
# 财务界面 UI 改进总结
|
||
|
||
## 修改内容
|
||
|
||
### 1. 统一使用 qfluentwidgets 组件
|
||
|
||
#### 标签控件替换
|
||
|
||
- **旧**: QTabWidget + QLabel
|
||
- **新**: SegmentedWidget + BodyLabel/StrongBodyLabel
|
||
|
||
#### 消息提示替换
|
||
|
||
- **旧**: QMessageBox
|
||
- **新**: InfoBar/Dialog (qfluentwidgets)
|
||
|
||
#### 其他组件替换
|
||
|
||
- QLabel → BodyLabel / StrongBodyLabel
|
||
- QTableWidget 保留,但添加 qfluentwidgets 样式
|
||
|
||
### 2. 功能选择改进
|
||
|
||
使用 SegmentedWidget 替代 TabBar:
|
||
|
||
```python
|
||
self.segmented_widget = SegmentedWidget()
|
||
self.segmented_widget.insertItem(0, "bookkeeping", "做账")
|
||
self.segmented_widget.insertItem(1, "query", "查询")
|
||
self.segmented_widget.insertItem(2, "export", "导出")
|
||
self.segmented_widget.currentItemChanged.connect(self.on_tab_changed)
|
||
```
|
||
|
||
### 3. 表格优化
|
||
|
||
#### 做账标签页表格
|
||
|
||
- 列数: 5 (日期, 交易人, 金额, 备注, 操作)
|
||
- 样式: 交替行颜色、自动调整列宽
|
||
- 操作按钮: 查看、编辑、删除
|
||
|
||
#### 查询标签页
|
||
|
||
- 搜索过滤使用 CardWidget 包装
|
||
- 表格显示查询结果
|
||
- 操作按钮: 查看详情
|
||
|
||
#### 统计信息
|
||
|
||
- 使用 CardWidget 显示总额和记录数
|
||
- 使用 StrongBodyLabel 强调显示
|
||
|
||
### 4. 对话框改进
|
||
|
||
#### CreateTransactionDialog
|
||
|
||
- 使用 BodyLabel 替代 QLabel
|
||
- 保持现有布局和功能
|
||
|
||
#### RecordViewDialog
|
||
|
||
- 图片预览使用 BodyLabel
|
||
- 支持图片显示
|
||
|
||
### 5. 消息提示改进
|
||
|
||
所有确认/警告/错误消息使用 InfoBar 或 Dialog:
|
||
|
||
```python
|
||
InfoBar.success(
|
||
title="成功",
|
||
content="记录已添加",
|
||
isClosable=True,
|
||
position=InfoBarPosition.TOP,
|
||
duration=2000,
|
||
parent=self
|
||
)
|
||
```
|
||
|
||
删除确认使用 Dialog:
|
||
|
||
```python
|
||
dialog = Dialog(
|
||
title="确认删除",
|
||
content="确定要删除这条记录吗?",
|
||
parent=self
|
||
)
|
||
```
|
||
|
||
## 测试结果
|
||
|
||
✅ 所有 UI 组件验证通过
|
||
✅ SegmentedWidget 正常工作
|
||
✅ TableWidget 正常工作
|
||
✅ 标签页切换功能正常
|
||
|
||
## 文件修改
|
||
|
||
- `/Users/lvzucheng/Documents/R/MRobot/app/finance_interface.py` - 主要修改
|
||
- 导入调整
|
||
- UI 组件替换
|
||
- 样式优化
|
||
- 消息提示更新
|
||
|
||
## 兼容性
|
||
|
||
- PyQt5 ✓
|
||
- qfluentwidgets >= 0.10.0 ✓
|
||
- Python >= 3.7 ✓
|
||
|
||
## 后续建议
|
||
|
||
1. 可考虑添加更多的快捷操作按钮
|
||
2. 可以为表格添加上下文菜单
|
||
3. 可以优化查询过滤的交互体验
|
||
4. 可以添加数据导出的进度条显示
|