PerryBox 是一个基于 Qt 框架开发的多功能桌面应用程序,集成了多种常用的开发工具,提供简单直观的用户界面,帮助开发者快速完成常见的编码、转换和测试任务。
- 支持二进制、十进制、十六进制之间的相互转换
- 支持前缀显示切换(如 0x、0b 前缀)
- 实时更新转换结果
- 支持批量字符处理
- 时间戳与本地时间/UTC 时间互转
- 支持多种时间格式验证
- 精确到秒的时间计算
- 用户友好的时间输入界面
- 支持 CRC8 和 CRC32 校验算法
- 字节级数据处理
- 支持多种输入格式
- 快速计算校验值
- 正则表达式验证和匹配
- 支持多种正则表达式标志
- 提供预定义正则表达式模板
- 支持正则替换功能
- 结果格式化输出
- 匹配位置和长度显示
- 开发语言: C++17
- 框架: Qt 5.14.2
- 编译器: MinGW 7.3.0 (32位)
- 构建系统: qmake + Makefile
- 第三方库: fmt-12.1.0 (格式化库)
- 操作系统: Windows 10/11 (支持高分屏适配)
# 调试模式(默认)
build_run.bat
# 发布模式
build_run.bat release# 1. 配置 Qt 环境变量
set QtPath=D:\Qt\Qt5.14.2\5.14.2\mingw73_64
set MingwPath=D:\Qt\Qt5.14.2\Tools\mingw730_64
set PATH=%MingwPath%\bin;%QtPath%\bin;%PATH%
# 2. 创建构建目录
mkdir build
cd build
# 3. 运行 qmake
qmake ..\PerryBox.pro -spec win32-g++ "CONFIG+=debug"
# 4. 编译项目
mingw32-make -j4
# 5. 运行程序
debug\PerryBox.exePerryBox/
├── 源代码
│ ├── main.cpp # 程序入口
│ ├── mainwindow.h/.cpp # 主窗口逻辑
│ ├── ascii_converter.h/.cpp # ASCII 转换模块
│ ├── timestamp_converter.h/.cpp # 时间戳转换模块
│ ├── crc_calculator.h/.cpp # CRC 计算模块
│ ├── regex_tester.h/.cpp # 正则测试模块
│ └── perry_common.h/.cpp # 公用工具函数
├── UI 设计
│ └── mainwindow.ui # Qt UI 设计文件
├── 资源
│ ├── res.qrc # Qt 资源文件
│ └── BirdIcon4.ico # 应用图标
├── 构建脚本
│ └── build_run.bat # 自动构建脚本
├── 第三方库
│ └── thirdparty/fmt-12.1.0/ # fmt 格式化库
└── 配置
├── .vscode/ # VSCode 配置
└── PerryBox.pro # Qt 项目配置
运行 PerryBox.exe 启动应用程序,主界面包含四个功能标签页,点击标签页即可切换功能。
-
程序无法启动
- 确保已正确配置 Qt 环境
- 检查是否缺少 Qt 运行时库
-
高分屏显示问题
- 应用已优化高分屏适配
- 如遇显示异常,尝试调整系统缩放比例
-
构建失败
- 检查 Qt 路径是否正确
- 确认 MinGW 编译器是否正常
- 尝试删除 build 目录后重新构建
- 创建新的头文件和实现文件(如
new_feature.h/.cpp) - 在
PerryBox.pro中添加源文件路径 - 在
mainwindow.ui中添加对应的 UI 组件 - 在
mainwindow.cpp中实现功能逻辑 - 连接信号和槽函数
- 遵循 Qt 编程规范
- 使用 4 个空格缩进
- 类名使用 PascalCase
- 变量名使用 camelCase
- 常量使用 UPPER_CASE
- 函数名使用 PascalCase
- 添加正则表达式测试器模块
- 优化 ASCII 转换器,支持二进制转换
- 改进构建脚本,防止程序重复运行
- 配置 VSCode 开发环境
- 添加时间戳转换器功能
- 添加 CRC 校验计算器功能
- 完善项目配置和构建脚本
- 项目初始化
- 实现基础的 ASCII 转换器
- 配置 Qt 开发环境
MIT License
如有问题或建议,欢迎通过以下方式联系:
- 作者: Perry
- 项目主页: [GitHub Repository]
- 邮箱: huanfenz@qq.com
注: 这是一个开源项目,欢迎提交 Issue 和 Pull Request。