重做无法在Windows上使用Tkinter文本小部件

问题描述

很抱歉,这是一个愚蠢的问题,但是我不确定在这里我做错了什么。撤消和重做在Linux上可以很好地工作,但在Windows上则不能。我尝试手动创建绑定(如下所示),但这也没有解决问题。我在下面尝试此确切的代码,并且重做命令不起作用。我已经研究了这个问题,但只找到了我已经尝试过的绑定解决方案。

import tkinter as tk

class TextThing():
    def __init__(self,master):
        self.text = tk.Text(undo=True,maxundo=-1,autoseparators=True)
        self.bindings()
        self.text.pack()

    def bindings(self):
        self.text.bind('<Control-Shift-z>',self.text.edit_redo)

if __name__ == '__main__':
    master = tk.Tk()
    text_thing = TextThing(master)
    master.mainloop()

解决方法

您需要绑定“Control-Shift-Z”(大写“Z”),因为如果按下 shift 键,您会得到大写的“Z”而不是小写的“z”。