基于Rust/Qt的五笔编码查询工具

背景说明

笔者注意到,在windows系统下的五笔输入法工具,常带有一个五笔编码查询的工具;或者一些五笔输入法可支持五笔拼音混合输入。当以拼音编码输入词组时,可以在输入界面中提示对应的五笔编码信息。

然而,这些功能在笔者常用的GNU/Linux桌面环境下是缺失的。于是编写了一个简单的新世纪五笔输入编码查询工具,有两个版本,支持命令行查询和基于Qt窗口的查询。本应用主程序以Rust编写,窗口版本基于Qt,代码详见此处

命令行版本的五笔编码查询

笔者在仓库中提供了预编译好的,命令行新世纪五笔编码查询,它对应的提交版本为:

复制代码
commit 69afea6210da091ed476d81e306896d2a920b712
Author: yejq <yejq.jiaqiang@gmail.com>
Date:   Sun Nov 9 17:03:52 2025 +0800

    更新 build.rs 的代码缩进

可执行文件在仓库的releases/v0.1.2/wbdict:

复制代码
yejq@ubuntu:~/program/wb06$ ./releases/v0.1.2/wbdict 中 国人
五笔编码:  中 =>
	k
	kh
	khk
五笔编码:  国人 =>
	lgww

该版本的wbdict.exe也可用于Windows7系统(需安装VCRedist依赖库)。

窗体版本的五笔编码查询

笔者了解到,Qt提供了针对Rust的,基于cxx.rs的API绑定,但笔者未能成功编译构建。于是笔者仍沿用简单的extern "C"的方式,把Qt/C++类简单地封装成多个C语言函数来调用。因笔者使用的Qt版本为Qt5.15.2/MinGW810版本,开源的C封装也不能使用,因为是基于Qt6的。编译方法如下:

复制代码
cd wb06\wubiform
qmake -o Makefile wubiform.pro
make
copy release\*.a .\
cd ..
cargo build --release

下面是窗体版本的五笔编码运行效果:

该窗口版本的五笔编码查询工具,支持历史查找记录的保存与加载、输入回忆等功能。

Linux输入法框架的Letter-Width

笔者注意到,在Linux系统环境下使用ibus输入法框架输入汉字时,常常需要切换到英文;但此时可能输入的标点符号及控制符仍是宽字符,即Letter-Width的配置选项变成了宽字符。这很影响中英文之间的输入切换。经一番查找比对,可以修改系统下的一个Python脚本文件,实现在英文输入法下,禁用宽字符的功能:

这样,我们就有了一个GNU/Linux桌面系统下功能完善的输入法工具了。

相关推荐
C++ 老炮儿的技术栈18 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
Thneonl19 小时前
一个人从 Rust 内核做到 React 前端:我做了一个云原生 SRE 巡检图谱桌面工具
rust
程序员爱钓鱼19 小时前
Rust Struct结构体详解:定义自己的复杂数据类型
后端·面试·rust
苏灿烤鱼21 小时前
公司**不可计算,就自己做操作系统
rust·typescript·agent
我不是疯子是傻子1 天前
Qt 实时曲线卡顿优化:从QPainter到OpenGL的3级加速实战
开发语言·qt
nnerddboy1 天前
Rust教程04:引用、借用与切片
开发语言·后端·rust
咸甜适中1 天前
rust语言AI编程学习笔记(五)clap命令行参数解析
学习·rust·ai编程
梦醒沉醉1 天前
19、Rust程序设计语言——高级特性
rust
我不是疯子是傻子1 天前
串口通信数据帧粘包拆包再进化:基于 Qt 的滑动窗口与 CRC 校验实战
开发语言·qt
程序员老陆1 天前
Qt中实现窗口真全屏(覆盖Windows任务栏)
开发语言·windows·qt