tkinter의 Text 위젯을 사용할 때 Ctrl + Shift + Z로 redo가 작동하지 않는 것을 고치십시오.
tkinter의 Text 위젯으로 undo와 redo를 사용합니다.
Text 위젯에서의 undo나 redo의 방식으로는 멈추었으므로 쓰게 해 주었으면 한다.
tkinter의 Text 위젯 표시
아래의 코드로 Text 위젯을 표시할 수 있다
text.pyimport tkinter as tk
root = tk.Tk()
text = tk.Text()
text.grid(column=0, row=0, sticky=(tk.N, tk.S, tk.E, tk.W))
root.mainloop()
실행하면 다음과 같다.
Text 위젯으로 undo redo
undo redo를 시키기에는 그리 어렵지 않다. 네 번째 줄
text.pytext = tk.Text()
text.pytext = tk.Text(undo=True)
(와)에 undo=True를 넣는 것만으로 좋다.
이제 Ctrl+Z로 undo를 할 수 있게 된다. 하지만 왜인지 Ctrl+Shift+Z로 redo가 효과가 없다. 이것으로는 곤란한 일이 되므로, 어떻게든 해야 한다.
Text 위젯으로 redo
방법으로서 bind를 사용한다.
이것은 특정 이벤트에 대해 특정 처리를 수행하는 방법입니다.
이번은, Ctrl+Shift+Z라고 하는 이벤트에 redo를 실시하는 처리를 주기로 한다. 이것으로 잘 될 것이다.
우선, 2행째에 redo를 행하는 처리를 추가한다.
text.pydef redo(event=None):
text.edit_redo()
그리고, 6행째에 bind 설정을 기입한다.
text.pytext.bind('<Control-Shift-Key-Z>', redo)
이 때 주의하지 않으면 갈 수 없는 것은 Z는 대문자가 되지 않으면 갈 수 없다. (Shift를 누르고 있기 때문에 대문자가 된다는 것.)
이것을 실행하면 제대로 Ctrl+Shift+Z로 redo가 효과가 된다.
이번 모든 소스
text.pyimport tkinter as tk
def redo(event=None):
text.edit_redo()
root = tk.Tk()
text = tk.Text(undo=True)
text.grid(column=0, row=0, sticky=(tk.N, tk.S, tk.E, tk.W))
text.bind('<Control-Shift-Key-Z>', redo)
root.mainloop()
Reference
이 문제에 관하여(tkinter의 Text 위젯을 사용할 때 Ctrl + Shift + Z로 redo가 작동하지 않는 것을 고치십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Dr_Thomas/items/c825e4bf21e150f6188c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import tkinter as tk
root = tk.Tk()
text = tk.Text()
text.grid(column=0, row=0, sticky=(tk.N, tk.S, tk.E, tk.W))
root.mainloop()
text = tk.Text()
text = tk.Text(undo=True)
def redo(event=None):
text.edit_redo()
text.bind('<Control-Shift-Key-Z>', redo)
import tkinter as tk
def redo(event=None):
text.edit_redo()
root = tk.Tk()
text = tk.Text(undo=True)
text.grid(column=0, row=0, sticky=(tk.N, tk.S, tk.E, tk.W))
text.bind('<Control-Shift-Key-Z>', redo)
root.mainloop()
Reference
이 문제에 관하여(tkinter의 Text 위젯을 사용할 때 Ctrl + Shift + Z로 redo가 작동하지 않는 것을 고치십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Dr_Thomas/items/c825e4bf21e150f6188c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)