当条目在 Gtk Python 中获得焦点时如何更改输入语言

Posted

技术标签:

【中文标题】当条目在 Gtk Python 中获得焦点时如何更改输入语言【英文标题】:How to change the input language when an entry gets focused in Gtk Python 【发布时间】:2018-02-16 10:07:23 【问题描述】:

当条目在 Gtk Python 中获得焦点(或显示对话框)时,我想更改输入语言。在我的程序中,多次出现对话框,用户必须输入一些文本。在允许每个窗口使用不同键盘布局的系统中,用户必须在每次出现对话框时更改输入语言。我在 ubuntu 上编程...

【问题讨论】:

【参考方案1】:

我的第一个方法是查看 Gtk+ 输入法。

Gtk.Entry 具有im_module 属性,可用于设置Gtk.IMContext。 还有两篇博文(1、2)和一篇关于 Gtk+ 输入法的广泛的 *** Answer,可能会对您有所帮助。

我的第二种方法是使用xkb。

你可以试试

subprocess.run('sudo setxkbmap -layout ' + entry_lang_str)

然后我记得你也可以使用gsettings。

gsettings set /org/gnome/desktop/input-sources/ sources [('xkb', entr_lang_str)](也可以通过subprocess.run()

对我来说,使用 gsettings 似乎是最简单的方法。

【讨论】:

以上是关于当条目在 Gtk Python 中获得焦点时如何更改输入语言的主要内容,如果未能解决你的问题,请参考以下文章

在 Python-GTK3 中设置条目文本的 set_text 在哪里?

如何格式化 Gtk.Entry 中的条目

当文本字段获得焦点时,如何使底部工具栏浮在软键盘上方

GTK 输入输入信号

axure7.0如何实现光标在文本框中获得焦点时,文本框内容自动清空。失去焦点时显示默认文字,谢谢!

当元素获得焦点时如何执行操作