# qt5keyboard **Repository Path**: ucos/qt5keyboard ## Basic Information - **Project Name**: qt5keyboard - **Description**: 一个功能完整的Qt5虚拟键盘实现,支持数字、英文和中文拼音输入。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-21 - **Last Updated**: 2025-07-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Qt5虚拟键盘 - 智能中文输入法 一个功能丰富的Qt5虚拟键盘应用,支持多种输入模式、智能拼音输入、主题切换等现代输入法特性。 ## ✨ 主要特性 ### 🎯 核心功能 - **多种键盘布局**:数字键盘、英文键盘、拼音键盘 - **智能拼音输入**:支持连词输入、模糊拼音、智能纠错 - **多主题支持**:清新、炫酷、正常、商务、粉色五种主题风格 - **现代输入法特性**:表情符号、智能标点、快捷输入 ### 🧠 智能特性 - **智能拼音引擎**: - 拼音自动分词和组合 - 模糊拼音匹配(zh/z, ch/c, sh/s等) - 词频动态调整 - 上下文关联学习 - **整句输入**: - 连续拼音自动断句 - 智能标点符号插入 - 语法结构分析 - **学习系统**: - 用户输入习惯学习 - 个性化词频调整 - 时间模式分析 ### 🎨 界面特性 - **主题管理**: - 5种预设主题风格 - 动态主题切换 - 自定义颜色方案 - **布局管理**: - 自适应键盘大小 - 统一的按键样式 - 响应式设计 ### 🚀 现代特性 - **表情符号**: - 分类表情库(脸部、手势、动物等) - 表情快捷键(:), :(, :D等) - 最近使用记录 - **智能建议**: - 自动纠错 - 快捷输入扩展 - 上下文联想 ## 🏗️ 技术架构 ### 核心组件 ``` qt5keyboard/ ├── src/ │ ├── main.cpp # 应用入口 │ ├── MainWindow.cpp # 主窗口 │ ├── VirtualKeyboard.cpp # 虚拟键盘主控制器 │ ├── KeyButton.cpp # 按键组件 │ │ │ ├── 输入引擎/ │ ├── PinyinEngine.cpp # 传统拼音引擎 │ ├── SmartPinyinEngine.cpp # 智能拼音引擎 │ ├── FuzzyPinyinMatcher.cpp # 模糊拼音匹配器 │ ├── SentenceInputProcessor.cpp # 整句输入处理器 │ │ │ ├── 候选词显示/ │ ├── CandidateBar.cpp # 传统候选词栏 │ ├── SmartCandidateBar.cpp # 智能候选词栏 │ │ │ ├── 学习系统/ │ ├── SmartLearningSystem.cpp # 智能学习系统 │ ├── ModernFeatures.cpp # 现代输入法特性 │ │ │ ├── 主题系统/ │ ├── ThemeManager.cpp # 主题管理器 │ ├── ThemeSelector.cpp # 主题选择器 │ ├── LayoutManager.cpp # 布局管理器 │ │ │ └── layouts/ # 键盘布局 │ ├── NumericLayout.cpp # 数字布局 │ ├── EnglishLayout.cpp # 英文布局 │ └── PinyinLayout.cpp # 拼音布局 ``` ### 技术栈 - **框架**:Qt5 (Core, Widgets) - **语言**:C++17 - **构建系统**:CMake / qmake - **架构模式**:单例模式、观察者模式、策略模式 ## 📦 构建安装 ### 系统要求 - Qt5.12 或更高版本 - C++17 支持的编译器 - CMake 3.16+ 或 qmake ### 快速开始 #### Linux/macOS ```bash # 克隆项目 git clone cd qt5keyboard # 使用构建脚本 (推荐) chmod +x build.sh ./build.sh # CMake发布版本 ./build.sh -q -d # qmake调试版本 ./build.sh --help # 查看所有选项 # 手动构建 - CMake方式 mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=Release make -j$(nproc) # 手动构建 - qmake方式 qmake CONFIG+=release qt5keyboard.pro make -j$(nproc) ``` #### Windows ```cmd # 使用构建脚本 (推荐) build.bat # CMake发布版本 build.bat -q -d # qmake调试版本 build.bat --help # 查看所有选项 # 手动构建 - CMake方式 mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" cmake --build . --config Release # 手动构建 - qmake方式 qmake CONFIG+=release qt5keyboard.pro mingw32-make ``` ### 构建选项 #### 构建脚本参数 - `-h, --help`:显示帮助信息 - `-c, --cmake`:使用CMake构建(默认) - `-q, --qmake`:使用qmake构建 - `-d, --debug`:调试模式构建 - `-r, --release`:发布模式构建(默认) - `-j N`:并行编译任务数 - `--clean`:清理构建目录 - `--install`:安装到系统 #### CMake配置选项 - `CMAKE_BUILD_TYPE`:构建类型(Debug/Release) - `CMAKE_INSTALL_PREFIX`:安装路径 ## 🎮 使用说明 ### 启动应用 ```bash # Linux/macOS ./build/bin/qt5keyboard # CMake构建 ./bin/Qt5Keyboard # qmake构建 # Windows build\bin\qt5keyboard.exe # CMake构建 bin\Qt5Keyboard.exe # qmake构建 ``` ### 基本操作 1. **切换输入模式**:使用数字键、英文键、中文键切换不同输入模式 2. **主题切换**:菜单栏 → 外观 → 主题设置 3. **拼音输入**:切换到拼音模式,输入拼音获得候选词 4. **表情输入**:使用快捷键如 `:)` 或搜索表情关键词 ### 高级功能 - **模糊拼音**:支持zh/z、ch/c、sh/s、an/ang等模糊音匹配 - **连词输入**:连续输入拼音自动组合成词组和句子 - **智能学习**:系统自动学习用户输入习惯,提供个性化建议 - **快捷输入**:支持自定义快捷键扩展 ## 🔧 配置文件 应用配置和学习数据存储位置: - **Linux**:`~/.config/qt5keyboard/` - **Windows**:`%APPDATA%/qt5keyboard/` - **macOS**:`~/Library/Preferences/qt5keyboard/` 主要配置文件: - `themes.ini`:主题配置 - `learning.ini`:学习系统数据 - `shortcuts.ini`:快捷键配置 ## 🤝 开发贡献 ### 项目结构 ``` qt5keyboard/ ├── src/ # 源代码 │ ├── include/ # 头文件 │ └── layouts/ # 键盘布局 ├── CMakeLists.txt # CMake构建配置 ├── qt5keyboard.pro # qmake构建配置 ├── build.sh # Linux/macOS构建脚本 ├── build.bat # Windows构建脚本 └── README.md # 项目文档 ``` ### 代码风格 - 使用C++17标准 - 遵循Qt命名约定 - 类名使用大驼峰命名法 - 函数和变量使用小驼峰命名法 - 成员变量使用m_前缀 ### 添加新功能 1. 在`src/include/`中添加头文件 2. 在`src/`中添加实现文件 3. 更新`CMakeLists.txt`和`qt5keyboard.pro` 4. 编写测试和文档 ## 📋 待办事项 - [ ] 云词库同步 - [ ] 语音输入支持 - [ ] 手写输入识别 - [ ] 多语言界面 - [ ] 插件系统 - [ ] 性能优化 ## 🐛 问题反馈 如遇到问题,请提供以下信息: 1. 操作系统版本 2. Qt版本 3. 编译器版本 4. 错误日志 5. 复现步骤 ## 📄 许可证 本项目采用 [MIT License](LICENSE) 开源许可证。 ## 🙏 致谢 感谢所有为这个项目做出贡献的开发者和用户! --- **智能输入,高效沟通** - Qt5虚拟键盘助您轻松表达!