ubuntu qt程序无法输入中文 QLineEdit输入框无法切换输入法

news2025/6/9 5:02:52

目录

  • 一、问题描述
  • 二、解决思路
  • 三、步骤描述

一、问题描述

测试软件在运行时无法通过键盘快捷键切换中文输入法,主要原因为qt应用程序没成功加载到输入法插件。

本文的以测试程序demo为例,进行过程展示,demo名字为“test-chinese-lineedit”。

原本环境(自带输入法)执行测试程序demo时,无法用键盘快捷键【ctrl+spec】切换成中文输入法,见下图。

注:
运行demo可执行程序步骤:进入demo文件夹中,打开终端,输入./test-chinese-lineedit

在这里插入图片描述

二、解决思路

  1. 安装【搜狗拼音输入法】;
  2. 将系统下语言支持库插件【libfcitxplatforminputcontextplugin.so】复制到qt程序运行目录下对应插件目录;

三、步骤描述

  1. 前提:搜狗输入法安装包,博主下载版本为:【sogoupinyin_4.0.1.2800_x86_64.deb】

    搜狗输入法deb包下载地址:
    https://shurufa.sogou.com/linux

  2. 安装搜狗输入法
    1)下载搜狗输入法deb包后,在此路径执行sudo dpkg -i +包名,执行命令后会提示输入密码。第一次安装搜狗输入法时,会有错误提示,见下图。包【fcitx-ui-qimpanel】与搜狗安装包有冲突,需要将【fcitx-ui-qimpanel】卸载后再次安装搜狗输入法。
    在这里插入图片描述
    2)卸载包【fcitx-ui-qimpanel】。在终端执行sudo apt-get remove fcitx-ui-qimpanel,执行后会再次确认是否继续执行,输入【y】即可继续执行,见下图。
    在这里插入图片描述
    卸载完成,见下图。
    在这里插入图片描述
    3)再次安装搜狗拼音安装包,终端执行命令sudo dpkg -i +搜狗拼音包名,此时无报错,安装成功,见下图。
    在这里插入图片描述
    注:安装后需重启系统,可在终端使用reboot命令重启。重启后可以在右上角菜单栏看到搜狗输入法的界面,证明搜狗输入法安装成功,见下图。
    在这里插入图片描述

  3. 将系统下语言支持库插件复制到qt程序运行目录下对应插件目录,步骤为:
    1)打开终端用超级用户执行命令:
    sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /opt/Qt5.12.10/5.12.10/gcc_64/plugins/platforminputcontexts/
    见下图。
    此步骤为了让qt应用程序加载输入法插件。Linux有两种插件:fictx和ibus,分别对应库【libfcitxplatforminputcontextplugin.so】和库【libibusplatforminputcontextplugin.so】,搜狗输入法使用的是前者。
    在这里插入图片描述
    2)进入运行目录下,给插件执行权限。终端执行cd /opt/Qt5.12.10/5.12.10/gcc_64/plugins/platforminputcontexts/进入运行目录;
    再执行sudo chmod +x libfcitxplatforminputcontextplugin.so
    即可。

  4. 至此,搜狗输入法已配置完成。
    用普通用户执行demo,(步骤为:进入demo文件夹输入./ test-chinese-lineedit,见下图。
    在这里插入图片描述

此时可以使用【ctrl+spec】切换中文输入法并输入中文,见下图。
在这里插入图片描述
参考:
https://blog.csdn.net/yjianlu/article/details/121043286

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/334354.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

stream流处理初识

stream流处理初识 java8中的集合支持stream方法, 它会返回一个流(java.util.stream.Stream)IDEA集成的工具查看流式链过程: 流的操作 : 流的概念: java8中的集合支持stream方法,它会返回一个流(java.util.stream.Stream) 元素序列: 就像集…

【数据结构】优先级队列----堆

优先级队列----堆优先级队列堆堆的创建堆的插入:堆的删除:PriorityQueue的特性PriorityQueue的构造与方法优先级队列 优先级队列: 不同于先进先出的普通队列,在一些情况下,优先级高的元素要先出队列。而这种队列需要提…

开启Openharmony 开发之旅

之前因为太懒,所以很少写博客。最近做了一年的鸿蒙开发。想记录下,故开始写点东西,作为学习和开发笔记吧!先分享几个开源鸿蒙的学习网站。 1.开源鸿蒙官网 OpenAtom OpenHarmonyhttps://docs.openharmony.cn/pages/v3.1/zh-cn/a…

《MySQL系列-InnoDB引擎19》文件-日志文件-二进制日志

日志文件 日志文件记录了影响MySQL数据库的各种类型活动。MySQL数据库中常见的日志文件有: 错误日志(error log)二进制日志(bilog)慢查询日志(slow query log)查询日志(log) 这些日志文件可以帮助DBA对MySQL数据库的运行状态进行诊断,从而更好的进行数…

INTx中断机制源码分析

INTx中断机制源码分析 文章目录INTx中断机制源码分析参考资料:一、 配置空间二、 扫描设备时分配中断号三、 使用INTx中断四、 PCIe中断树五、 PCIe INTx中断映射过程5.1 PCIe控制器支持的中断5.2 PCIe控制器注册中断5.3 PCIe设备中断号的分配5.3.1 IRQ domain5.3.2…

Java源码程序设计-房屋出租管理系统设计与实现

摘 要系统设计系统实现开发环境摘 要 随着我国市场经济的快速发展和人们生活水平的不断提高,简单的房屋出租服务已经不能满足人们的需求。如何利用先进的管理手段,提高房屋出租的管理水平,是当今社会所面临的一个重要课题。 本文采用结构化…

Win10系统电脑开机后总是蓝屏无法使用怎么办?

Win10系统电脑开机后总是蓝屏无法使用怎么办?电脑开机的时候出现了蓝屏问题,这个情况是我们的电脑系统不兼容导致的。遇到这个问题一般是需要去进行系统的重装来解决,安装一个更兼容的系统就可以解决问题了。一起来看看详细的解决方法分享吧。…

前端学习第八站——CSS定位和装饰

目录 一、定位 1.1 网页常见布局方式 1.2 定位的常见应用场景 2.1 定位初体验 2.2 使用定位 3.1 静态定位 4.1 相对定位 5.1 绝对定位 6.1 子绝父相 7. 固定定位 8.1 定位的层级关系 8.2 更改定位元素的层级 9.总结 二、装饰 1.1 了解基线 1.2 文字对齐问…

安卓小游戏:小板弹球

安卓小游戏:小板弹球 前言 这个是通过自定义View实现小游戏的第三篇,是小时候玩的那种五块钱的游戏机上的,和俄罗斯方块很像,小时候觉得很有意思,就模仿了一下。 需求 这里的逻辑就是板能把球弹起来,球…

股票交易开放接口是什么意思?

在股票量化市场上,大家可能对股票交易开放接口的意思不太理解,其实换个角度来看,就是关于由开发团队进行开发的股票交易开放接口,那么对于接口的开发原理跟代码是怎么样的呢?一、股票交易开放接口函数的调用&#xff1…

面试的同学看这里!这套Java面试八股文,已经帮助200+人进入大厂

在看这篇文章之前,我想我们需要先搞明白八股文是什么??? 明清科举考试的一种文体,也称制义、制艺、时文、八比文。八股文章就四书五经取题,内容必须用古人的语气,绝对不允许自由发挥&#xff0c…

Git 常用命令

一、基本的git命令 1、查看现在在哪个分支 git branch 2、切换到某分支 git checkout 某分支 3、添加修改后的代码到缓存区 git add . 4、添加提交代码的备注 git commit -m "注释" 5、提交代码到指定的分支 git push origin 某分支 6、从远程仓库克隆git仓库…

四 、QML常用控件的使用详解

在Qt Quick的世界里,window对象用于创建一个与操作系统相关的顶层窗口,而其他的元素,如Text Rectangle,Image等,都睡Windows提功能场景里面的显示对象,Window还有一个派生类,即是大名鼎鼎的Application Win…

基于DSP+FPGA高速运动控制器设计

基于“PC运动控制器”结构的开放式机器人运动控制系统能够充分利用PC开放程 度高、通用性好、处理能力强等特点以及运动控制器运算速度快、实时性能好、控制能 力强等特点,因此得到较快发展,成为目前的研究热点。但目前采用此种结构的开放式 机器人运动控…

3D模型深度生成网络【ShapeAssembly】

推荐:使用 NSDT场景设计器 快速搭建 3D场景。 我们提出了一个深度生成模型,该模型学习在ShapeAssembly中编写新颖的程序,ShapeAssembly是一种用于建模3D形状结构的特定领域语言。 执行 ShapeAssembly 程序会生成一个由部件代理长方体的分层连…

HashMap put() 方法源码分析

文章目录一、前置知识红黑树定义二、构造方法HashMap()HashMap(int initialCapacity, float loadFactor)tableSizeFor(int cap):计算hashmap初始容量三、put 方法源码1. put()hash(Object key):计算key的hash值2. putVal()通过 hash 计算数组下标3. resi…

jdk版本切换工具jenv使用指南

1.下载jenv包 下载链接:GitHub - FelixSelter/JEnv-for-Windows: Change your current Java version with one line 下载包的文件:JEnv.zip 然后解压缩,放到一个目录下,我这里放到了目录:D:\tools\JEnv 2.将JENV添…

chatGPT学习

最近看到一个火爆的AI智能聊天工具:ChatGPT。它的功能:文能写文章,武能改BUG,马斯克对它的评价是“Scary Good!”。我非常感兴趣,就试用了一下,感觉还不错,希望大家能喜欢。 ChatGPT&#xff0…

炼石完成近亿元A+轮融资,冲刺1500亿数据安全赛道

近日,炼石宣布完成近亿元A轮融资,本轮融资由重庆科技成果转化基金独家投资,由清科资本担任独家财务顾问,这是继安天科技、安云资本、国科嘉和、腾讯等多轮之后的新一轮投资。随着本轮资金的引入,炼石将更深入研发迭代以…

MASA Stack 1.0 发布会讲稿 —— 产品篇

架构 基于MASA的云原生技术架构 我们基于MASA去做了一个云原生技术架构,左下角的MASA Blazor主要是为我们去集成一个多端的UI能力,具体的使用场景将在实践篇为大家介绍——MASA Blazor如何去做多端的 接着就是集成非业务能力的MASA Framework&#xff…