Python tkinter(复制/粘贴不适用于其他语言)

2024-01-24

I found out that whenever i switch the language from english to russian tkinter stops reacting to Ctrl+C, Ctrl+V or Ctrl+X.

当我切换回英语时它仍然有效,即使文本是俄语的。

我尝试了在堆栈交换中可以找到的所有与复制粘贴主题远程相关的代码片段,添加了类似于原始代码的内容,例如self.bind('<Control-м>', self.paste)(俄语中的“м”与英语中的“v”按钮相同),但仍然不起作用。

非常感谢有关如何修复它的任何帮助/想法。


from Tkinter import Tk, Entry   

def _onKeyRelease(event):
    ctrl  = (event.state & 0x4) != 0
    if event.keycode==88 and  ctrl and event.keysym.lower() != "x": 
        event.widget.event_generate("<<Cut>>")

    if event.keycode==86 and  ctrl and event.keysym.lower() != "v": 
        event.widget.event_generate("<<Paste>>")

    if event.keycode==67 and  ctrl and event.keysym.lower() != "c":
        event.widget.event_generate("<<Copy>>")


master = Tk()
master.geometry("500x500+1+1")
master.bind_all("<Key>", _onKeyRelease, "+")
Entry(master).pack()
Entry(master).pack()
Entry(master).pack()
master.mainloop()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python tkinter(复制/粘贴不适用于其他语言) 的相关文章

随机推荐