【发布时间】:2020-12-11 23:21:54
【问题描述】:
我正在尝试编写一个界面(在 Python 3.8 中,使用 tkinter)来接受希腊语文本(在 Windows 10 中使用希腊语多调键盘键入)。但是,Entry 和 Text 不会接受所有键入的希腊字符:可以单独键入希腊字母,但如果我尝试键入除尖音以外的任何带有变音符号的字母,则会显示 ? 而不是性格。 (我认为 tkinter 接受“希腊语和科普特语”中的字符,但不接受“希腊语扩展”Unicode 块中的字符。)我知道 tkinter 可以显示这些字符,因为它们在被程序插入时显示得很好(例如 @987654324 @ 插入 ῆ 但只需使用键盘的快捷键键入该字符即可插入 ?)。我需要做什么才能让 tkinter 识别键入的希腊字符?
(我还尝试通过添加 TextInstance.bind('[h', lambda *ignored: TextInstance.insert(tkinter.INSERT, 'ῆ'))
每个字符及其快捷键来重新绑定键盘快捷键;这在英文键盘中有效(尽管也插入了激活事件的字符),但在字母键上的希腊 Polytonic 键盘绑定根本没有激活。)
【问题讨论】:
-
记录不起作用的字符串的代码点可能会有所帮助(
[ord(c) for c in not_working_string] -
另外,也许尝试使用不同的字体。
标签: python python-3.x tkinter unicode diacritics