国产化UOS系统QT程序无法输入中文问题解决

1.问题描述

问题描述: UOS系统x86架构QtCreator和QT应用程序无法输入中文,系统中文输入法正常使用。
系统版本: UOS桌面专业版 1043
QT版本: QT 5.15.11

2.问题分析

目前Linux上主流的输入法架构主要是fcitx和ibus,目前国产化系统大部分都是使用的fcitx架构,所以QT框架想要使用对应的输入法必须要提供对应的插件进行通讯,通过查看Qt的插件目录发现插件目录plugins/platforminputcontexts/下没有libfcitxplatforminputcontextplugin.so插件,这就是为什么QT的程序无法输入中文的原因。

3.解决办法

按照对应的Qt版本去编译这个库libfcitxplatforminputcontextplugin.so

3.1编译libfcitxplatforminputcontextplugin.so插件

3.1.1 安装编译依赖
sudo apt-get install -y cmake
sudo apt-get install -y extra-cmake-modules
sudo apt-get install -y libxkbcommon-x11-dev
sudo apt-get install -y libxkbcommon-dev
sudo apt-get install -y bison
3.1.2 下载fcitx-qt5源码

//从github下载源码
git clone http://github.com/fcitx/fcitx-qt5.git

3.1.3 配置qmake的环境变量
  • (1)终端进入fcitx-qt5文件夹
  • (2)输入 export PATH=/opt/Qt5.15.11/bin/:$PATH
3.1.4 执行编译安装
cmake .
make -j4
make install

编译完成以后会生成platforminputcontext文件夹,进入文件夹后会有已经编译完成的libfcitxplatforminputcontextplugin.so文件给这个文件赋予权限。

chmod 777 libfcitxplatforminputcontextplugin.so 
3.1.5 拷贝文件到指定目录

将文件拷贝到QT安装目录/opt/qt5.15.11/plugins/platforminputcontexts和Qt Creator的/plugins/platforminputcontexts目录下,就能解决QT程序无法输入中文问题。

4.总结

1.Linux下QT程序无法输入中文问题,一般是缺少libfcitxplatforminputcontextplugin.so库导致的问题,如果存在插件库但是仍然无法输入中文,可通过ldd -d查看插件库依赖确认是否是库依赖有问题,想办法结解决库依赖的问题。
2.ARM架构UOS系统下的QT同样存在相同的问题,可用相同的方法解决。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
UOS系统中的Qt Creator调用其他程序时出现崩溃并退出的问题可能有多种原因。下面我将列举一些常见的原因和解决方法,希望能帮助你解决这个问题。 1. 程序兼容性问题:有可能调用的程序Qt Creator的版本不兼容,或者程序本身存在bug导致崩溃。解决方法可以尝试更新Qt Creator版本,或者联系程序开发者寻求解决方案。 2. 内存不足:当调用其他程序时,占用的内存可能超出了系统的可用内存,导致系统崩溃。解决方法是检查系统内存使用情况,可以关闭其他占用大量内存的程序,或者增加系统的内存容量。 3. 文件路径错误或缺失:调用其他程序时,如果程序的路径错误或者相关的文件缺失,会导致系统崩溃退出。解决方法是检查调用程序的路径是否正确,并确保必要的文件存在。 4. 权限问题:如果调用程序需要特定的权限,而Qt Creator没有获取这些权限,就会导致崩溃退出。解决方法是确保Qt Creator具有调用程序所需的权限,可以尝试以管理员身份运行Qt Creator。 5. 资源冲突:在调用其他程序时,可能会出现资源冲突的情况,比如同时操作同一个文件或者设备。解决方法是避免资源冲突,可以在调用程序前先确认资源是否被其他程序占用。 如果以上方法都无法解决问题,建议向Qt Creator的开发者寻求帮助,他们可能更有能力解决这个问题。同时,确保系统Qt Creator是最新版本也是一种好的尝试。希望这些解决方法对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奥修的灵魂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值