[Seek Help] Qt6 中文输入
Tofloor
poster avatar
忧郁沙
deepin
2023-04-11 22:25
Author

Deepin 20.9 版本

Qt6.5 QtCreator 10

无法输入中文。

求助

Reply Favorite View the author
All Replies
阿尼樱奈奈
Moderator
2023-04-11 22:36
#1
It has been deleted!
青稚
deepin
2023-04-11 23:13
#2

麻烦描述一下是什么输入法无法使用。

Reply View the author
sammy-621
deepin
2023-04-11 23:36
#3

这个是Qt6 与 中文输入法框架之间的兼容性问题,跟Deepin 及哪个中文输入法无关,在其它发行版中同样存在。据说可以通过重新编译 libfcitxplatforminputcontextplugin-qt6.so 并替换该文件来解决。

可参考这篇折腾一下:https://blog.csdn.net/m0_46144825/article/details/122462453

Reply View the author
151******07
deepin
2023-04-12 03:20
#4

这里有编译好的。https://download.csdn.net/download/u011222457/86246878?utm_medium=distribute.pc_relevant_download.none-task-download-2defaultBlogCommendFromBaidu~Rate-1-86246878-download-85020690.topnsimilar_compare_v2&depth_1-utm_source=distribute.pc_relevant_download.none-task-download-2~default~BlogCommendFromBaidu~Rate-1-86246878-download-85020690.topnsimilar_compare_v2&dest=https%3A%2F%2Fdownload.csdn.net%2Fdownload%2Fu011222457%2F86246878&spm=1003.2020.3001.6616.1

Reply View the author
Comments
忧郁沙
2023-04-12 04:54
非常感谢
bluesky_
deepin
2023-04-13 02:44
#5
sammy-621

这个是Qt6 与 中文输入法框架之间的兼容性问题,跟Deepin 及哪个中文输入法无关,在其它发行版中同样存在。据说可以通过重新编译 libfcitxplatforminputcontextplugin-qt6.so 并替换该文件来解决。

可参考这篇折腾一下:https://blog.csdn.net/m0_46144825/article/details/122462453

看了下,不推荐使用这种方法,没记错v20安装fcitx开发包会把fcitx5删除,建议用我下面的方法

1.安装依赖

sudo apt install git cmake extra-cmake-modules gcc g++ libxkbcommon-dev

2.复制源码

git clone [email protected]:fcitx/fcitx-qt5.git

3.进入目录

cd fcitx-qt5

4.修改CMakeLists.txt

# 要支持哪个就打开哪个,我这里编译Qt6的输入支持模块
option(ENABLE_QT5 "Enable Qt5" Off)
option(ENABLE_QT6 "Enable Qt6 im module" On)
option(ENABLE_LIBRARY "Qt library" Off)

5.开始编译

# 在编译前要先指定qt目录
# 在编译前导入qt所在目录 
#在终端输入命令导入你的qt6路径  export PATH=/opt/apps/Qt/6.3.1/gcc_64/bin:$PATH
# 这是我的qt安装目录,要根据自己情况修改
mkdir build && cd build
cmake .. -DENABLE_LIBRARY=false
make -j12

6.得到动态库文件

cd qt6/platforminputcontext
ls | grep *.so

如果一切正常会出现一个.so结尾的动态库文件

7.将动态库丢入要支持fcitx输入法的qt程序的插件目录中

# 举例
sudo cp libfcitxplatforminputcontextplugin-qt6.so /opt/apps/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
Reply View the author
150******03
deepin
2023-08-23 01:02
#6

如果尝试了楼上的方法,发现不行的话,可以直接下载编译好的文件 https://bbs.deepin.org/zh/post/242881

亲测QT6.5.2有用

Reply View the author
jerk
deepin
2024-12-13 16:29
#7
bluesky_

看了下,不推荐使用这种方法,没记错v20安装fcitx开发包会把fcitx5删除,建议用我下面的方法

1.安装依赖

sudo apt install git cmake extra-cmake-modules gcc g++ libxkbcommon-dev

2.复制源码

git clone [email protected]:fcitx/fcitx-qt5.git

3.进入目录

cd fcitx-qt5

4.修改CMakeLists.txt

# 要支持哪个就打开哪个,我这里编译Qt6的输入支持模块
option(ENABLE_QT5 "Enable Qt5" Off)
option(ENABLE_QT6 "Enable Qt6 im module" On)
option(ENABLE_LIBRARY "Qt library" Off)

5.开始编译

# 在编译前要先指定qt目录
# 在编译前导入qt所在目录 
#在终端输入命令导入你的qt6路径  export PATH=/opt/apps/Qt/6.3.1/gcc_64/bin:$PATH
# 这是我的qt安装目录,要根据自己情况修改
mkdir build && cd build
cmake .. -DENABLE_LIBRARY=false
make -j12

6.得到动态库文件

cd qt6/platforminputcontext
ls | grep *.so

如果一切正常会出现一个.so结尾的动态库文件

7.将动态库丢入要支持fcitx输入法的qt程序的插件目录中

# 举例
sudo cp libfcitxplatforminputcontextplugin-qt6.so /opt/apps/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts

你好,请教一下。so库生成了,但不知道为啥,放入后qt闪退,启动不了。qt版本是6.5.3,qtcreator版本是15.0.0

image.png

Reply View the author