页次: 1
1. 背景 (如果有帮助的话)
我正在写一个查看五笔拆字图解的脚本。我打算把它绑定到 dwm 的快捷键,这样当我摁下快捷键,就可以弹出输入框,输入要查询的汉字,脚本会爬取这个字的拆字图解,保存为本地图片并打开。结果我发现 fcitx5 在 tkinter 创建的文本框里无法切换为中文输入,只能输入英文。
2. 实际表现
在 tkinter 创建的文本框中,摁设定好的输入法切换键 Ctrl+Space 无法切换输入法,在系统托盘右键 fcitx5 图标来选择中文输入也无效。
3. 期望表现
在 tkinter 创建的文本框中,可以将 fcitx5 切换为中文输入
4. 最小工作示例
#!/usr/bin/env python3
def get_char():
import tkinter as tk
from tkinter import simpledialog
root = tk.Tk()
root.withdraw()
title=""
prompt = "输入一个汉字"
char = simpledialog.askstring(title=title, prompt=prompt, initialvalue='')
return char
x = get_char()
print(x)
5. 版本和环境信息
platform: Arch Linux
fcitx5 version: 5.0.17
tkinter version: 8.6
Python version: 3.10.5
tk version: 8.6.12-1
tcl version: 8.6.12-3
$ cat /etc/environment ↵
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
INPUT_METHOD=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
$ pacman -Qsq 'fcitx5-.*' ↵
fcitx5
fcitx5-chinese-addons
fcitx5-configtool
fcitx5-gtk
fcitx5-material-color
fcitx5-pinyin-zhwiki
fcitx5-qt
最近编辑记录 tanloong (2022-11-17 14:02:29)
离线
我卸载掉 fcitx5,安装 fcitx-sunpinyin,问题仍然存在,这好像不是 fcitx5 的问题。
在 Python 3.8 环境里运行 MWE,问题仍然存在。
我再探索一下……
离线
我发现在 pyqt5 创建的文本框里可以切换中文输入,所以用 pyqt5 代替了 tkinter,虽然没有解决这个帖子提出的问题,但脚本可以正常运行了👌。
最近编辑记录 tanloong (2022-06-13 01:39:34)
离线
测试可以,多半是你 XIM 配置有问题。
建议看看 https://wiki.archlinux.org/title/Fcitx5 和 fcitx5-diagnose 的输出。
最近编辑记录 csslayer (2022-06-13 09:46:58)
离线
页次: 1