사용자가 캔버스 위젯에 텍스트를 입력 할 수 있어야 사용자가 새 텍스트를 입력 할 때 캔버스가 업데이트됩니다.Tkinter 캔버스 위젯에 텍스트 입력
여기까지 시도했지만 작동하지 않습니다.
먼저 나는 drawText
def drawText(self, x, y, fg):
self.currentObject = self.canvas.create_text(x,y,fill=fg,text=self.typedtext)
나는 또한 전역에 바인딩이이 mouseDown
방법은 내 방식에 startx, starty
위치를 반환
widget.bind(self.canvas, "<Button-1>", self.mouseDown)
버튼-1 이벤트에 바인딩 된 mouseDown
방법을 캔버스 위젯은 다음과 같은 키 누르기를 캡처합니다.
Widget.bind(self.canvas, "<Any KeyPress>", self.currentTypedText)
def currentTypedText(self, event):
self.typedtext = str(event.keysym)
self.drawText(self, self.startx, self.starty,self.foreground)
그러나 오류가없고 캔버스에 아무것도 인쇄되지 않습니다.
이 답변이 작성된 이후로 몇 년이 지난 것을 알고 있습니다. 그럼에도 불구하고 모든 키 입력에 대해 새 텍스트 항목을 만들지 않아도된다는 사실을 지적하고자합니다. 캔버스 텍스트 항목을 편집 할 수 있습니다. 구현 방법은 http://effbot.org/zone/editing-canvas-text-items.htm을 참조하십시오. –